ProcessorLists.java
net.minecraft.data.worldgen.ProcessorLists
信息
- 全限定名:net.minecraft.data.worldgen.ProcessorLists
- 类型:public class
- 包:net.minecraft.data.worldgen
- 源码路径:src/main/java/net/minecraft/data/worldgen/ProcessorLists.java
- 起始行号:L35
- 职责:
TODO
字段/常量
-
EMPTY- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
private static final - 源码定位:
L36 - 说明:
TODO
- 类型:
-
ZOMBIE_PLAINS- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L37 - 说明:
TODO
- 类型:
-
ZOMBIE_SAVANNA- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L38 - 说明:
TODO
- 类型:
-
ZOMBIE_SNOWY- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L39 - 说明:
TODO
- 类型:
-
ZOMBIE_TAIGA- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L40 - 说明:
TODO
- 类型:
-
ZOMBIE_DESERT- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L41 - 说明:
TODO
- 类型:
-
MOSSIFY_10_PERCENT- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L42 - 说明:
TODO
- 类型:
-
MOSSIFY_20_PERCENT- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L43 - 说明:
TODO
- 类型:
-
MOSSIFY_70_PERCENT- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L44 - 说明:
TODO
- 类型:
-
STREET_PLAINS- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L45 - 说明:
TODO
- 类型:
-
STREET_SAVANNA- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L46 - 说明:
TODO
- 类型:
-
STREET_SNOWY_OR_TAIGA- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L47 - 说明:
TODO
- 类型:
-
FARM_PLAINS- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L48 - 说明:
TODO
- 类型:
-
FARM_SAVANNA- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L49 - 说明:
TODO
- 类型:
-
FARM_SNOWY- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L50 - 说明:
TODO
- 类型:
-
FARM_TAIGA- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L51 - 说明:
TODO
- 类型:
-
FARM_DESERT- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L52 - 说明:
TODO
- 类型:
-
OUTPOST_ROT- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L53 - 说明:
TODO
- 类型:
-
BOTTOM_RAMPART- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L54 - 说明:
TODO
- 类型:
-
TREASURE_ROOMS- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L55 - 说明:
TODO
- 类型:
-
HOUSING- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L56 - 说明:
TODO
- 类型:
-
SIDE_WALL_DEGRADATION- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L57 - 说明:
TODO
- 类型:
-
STABLE_DEGRADATION- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L58 - 说明:
TODO
- 类型:
-
BASTION_GENERIC_DEGRADATION- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L59 - 说明:
TODO
- 类型:
-
RAMPART_DEGRADATION- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L60 - 说明:
TODO
- 类型:
-
ENTRANCE_REPLACEMENT- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L61 - 说明:
TODO
- 类型:
-
BRIDGE- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L62 - 说明:
TODO
- 类型:
-
ROOF- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L63 - 说明:
TODO
- 类型:
-
HIGH_WALL- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L64 - 说明:
TODO
- 类型:
-
HIGH_RAMPART- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L65 - 说明:
TODO
- 类型:
-
FOSSIL_ROT- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L66 - 说明:
TODO
- 类型:
-
FOSSIL_COAL- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L67 - 说明:
TODO
- 类型:
-
FOSSIL_DIAMONDS- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L68 - 说明:
TODO
- 类型:
-
ANCIENT_CITY_START_DEGRADATION- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L69 - 说明:
TODO
- 类型:
-
ANCIENT_CITY_GENERIC_DEGRADATION- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L70 - 说明:
TODO
- 类型:
-
ANCIENT_CITY_WALLS_DEGRADATION- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L71 - 说明:
TODO
- 类型:
-
TRAIL_RUINS_HOUSES_ARCHAEOLOGY- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L72 - 说明:
TODO
- 类型:
-
TRAIL_RUINS_ROADS_ARCHAEOLOGY- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L73 - 说明:
TODO
- 类型:
-
TRAIL_RUINS_TOWER_TOP_ARCHAEOLOGY- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L74 - 说明:
TODO
- 类型:
-
TRIAL_CHAMBERS_COPPER_BULB_DEGRADATION- 类型:
ResourceKey<StructureProcessorList> - 修饰符:
public static final - 源码定位:
L75 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
private static ResourceKey<StructureProcessorList> createKey(String name) @ L77
- 方法名:createKey
- 源码定位:L77
- 返回类型:ResourceKey
- 修饰符:private static
参数:
- name: String
说明:
TODO
private static void register(BootstrapContext<StructureProcessorList> context, ResourceKey<StructureProcessorList> id, List<StructureProcessor> processors) @ L81
- 方法名:register
- 源码定位:L81
- 返回类型:void
- 修饰符:private static
参数:
- context: BootstrapContext
- id: ResourceKey
- processors: List
说明:
TODO
public static void bootstrap(BootstrapContext<StructureProcessorList> context) @ L85
- 方法名:bootstrap
- 源码定位:L85
- 返回类型:void
- 修饰符:public static
参数:
- context: BootstrapContext
说明:
TODO
private static CappedProcessor trailsArchyLootProcessor(ResourceKey<LootTable> lootTable, int count) @ L800
- 方法名:trailsArchyLootProcessor
- 源码定位:L800
- 返回类型:CappedProcessor
- 修饰符:private static
参数:
- lootTable: ResourceKey
- count: int
说明:
TODO
代码
public class ProcessorLists {
private static final ResourceKey<StructureProcessorList> EMPTY = createKey("empty");
public static final ResourceKey<StructureProcessorList> ZOMBIE_PLAINS = createKey("zombie_plains");
public static final ResourceKey<StructureProcessorList> ZOMBIE_SAVANNA = createKey("zombie_savanna");
public static final ResourceKey<StructureProcessorList> ZOMBIE_SNOWY = createKey("zombie_snowy");
public static final ResourceKey<StructureProcessorList> ZOMBIE_TAIGA = createKey("zombie_taiga");
public static final ResourceKey<StructureProcessorList> ZOMBIE_DESERT = createKey("zombie_desert");
public static final ResourceKey<StructureProcessorList> MOSSIFY_10_PERCENT = createKey("mossify_10_percent");
public static final ResourceKey<StructureProcessorList> MOSSIFY_20_PERCENT = createKey("mossify_20_percent");
public static final ResourceKey<StructureProcessorList> MOSSIFY_70_PERCENT = createKey("mossify_70_percent");
public static final ResourceKey<StructureProcessorList> STREET_PLAINS = createKey("street_plains");
public static final ResourceKey<StructureProcessorList> STREET_SAVANNA = createKey("street_savanna");
public static final ResourceKey<StructureProcessorList> STREET_SNOWY_OR_TAIGA = createKey("street_snowy_or_taiga");
public static final ResourceKey<StructureProcessorList> FARM_PLAINS = createKey("farm_plains");
public static final ResourceKey<StructureProcessorList> FARM_SAVANNA = createKey("farm_savanna");
public static final ResourceKey<StructureProcessorList> FARM_SNOWY = createKey("farm_snowy");
public static final ResourceKey<StructureProcessorList> FARM_TAIGA = createKey("farm_taiga");
public static final ResourceKey<StructureProcessorList> FARM_DESERT = createKey("farm_desert");
public static final ResourceKey<StructureProcessorList> OUTPOST_ROT = createKey("outpost_rot");
public static final ResourceKey<StructureProcessorList> BOTTOM_RAMPART = createKey("bottom_rampart");
public static final ResourceKey<StructureProcessorList> TREASURE_ROOMS = createKey("treasure_rooms");
public static final ResourceKey<StructureProcessorList> HOUSING = createKey("housing");
public static final ResourceKey<StructureProcessorList> SIDE_WALL_DEGRADATION = createKey("side_wall_degradation");
public static final ResourceKey<StructureProcessorList> STABLE_DEGRADATION = createKey("stable_degradation");
public static final ResourceKey<StructureProcessorList> BASTION_GENERIC_DEGRADATION = createKey("bastion_generic_degradation");
public static final ResourceKey<StructureProcessorList> RAMPART_DEGRADATION = createKey("rampart_degradation");
public static final ResourceKey<StructureProcessorList> ENTRANCE_REPLACEMENT = createKey("entrance_replacement");
public static final ResourceKey<StructureProcessorList> BRIDGE = createKey("bridge");
public static final ResourceKey<StructureProcessorList> ROOF = createKey("roof");
public static final ResourceKey<StructureProcessorList> HIGH_WALL = createKey("high_wall");
public static final ResourceKey<StructureProcessorList> HIGH_RAMPART = createKey("high_rampart");
public static final ResourceKey<StructureProcessorList> FOSSIL_ROT = createKey("fossil_rot");
public static final ResourceKey<StructureProcessorList> FOSSIL_COAL = createKey("fossil_coal");
public static final ResourceKey<StructureProcessorList> FOSSIL_DIAMONDS = createKey("fossil_diamonds");
public static final ResourceKey<StructureProcessorList> ANCIENT_CITY_START_DEGRADATION = createKey("ancient_city_start_degradation");
public static final ResourceKey<StructureProcessorList> ANCIENT_CITY_GENERIC_DEGRADATION = createKey("ancient_city_generic_degradation");
public static final ResourceKey<StructureProcessorList> ANCIENT_CITY_WALLS_DEGRADATION = createKey("ancient_city_walls_degradation");
public static final ResourceKey<StructureProcessorList> TRAIL_RUINS_HOUSES_ARCHAEOLOGY = createKey("trail_ruins_houses_archaeology");
public static final ResourceKey<StructureProcessorList> TRAIL_RUINS_ROADS_ARCHAEOLOGY = createKey("trail_ruins_roads_archaeology");
public static final ResourceKey<StructureProcessorList> TRAIL_RUINS_TOWER_TOP_ARCHAEOLOGY = createKey("trail_ruins_tower_top_archaeology");
public static final ResourceKey<StructureProcessorList> TRIAL_CHAMBERS_COPPER_BULB_DEGRADATION = createKey("trial_chambers_copper_bulb_degradation");
private static ResourceKey<StructureProcessorList> createKey(String name) {
return ResourceKey.create(Registries.PROCESSOR_LIST, Identifier.withDefaultNamespace(name));
}
private static void register(BootstrapContext<StructureProcessorList> context, ResourceKey<StructureProcessorList> id, List<StructureProcessor> processors) {
context.register(id, new StructureProcessorList(processors));
}
public static void bootstrap(BootstrapContext<StructureProcessorList> context) {
HolderGetter<Block> blocks = context.lookup(Registries.BLOCK);
ProcessorRule ADD_GILDED_BLACKSTONE = new ProcessorRule(
new RandomBlockMatchTest(Blocks.BLACKSTONE, 0.01F), AlwaysTrueTest.INSTANCE, Blocks.GILDED_BLACKSTONE.defaultBlockState()
);
ProcessorRule REMOVE_GILDED_BLACKSTONE = new ProcessorRule(
new RandomBlockMatchTest(Blocks.GILDED_BLACKSTONE, 0.5F), AlwaysTrueTest.INSTANCE, Blocks.BLACKSTONE.defaultBlockState()
);
register(context, EMPTY, ImmutableList.of());
register(
context,
ZOMBIE_PLAINS,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.COBBLESTONE, 0.8F), AlwaysTrueTest.INSTANCE, Blocks.MOSSY_COBBLESTONE.defaultBlockState()
),
new ProcessorRule(new TagMatchTest(BlockTags.DOORS), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.WALL_TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.COBBLESTONE, 0.07F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.MOSSY_COBBLESTONE, 0.07F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHITE_TERRACOTTA, 0.07F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.OAK_LOG, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.OAK_PLANKS, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.OAK_STAIRS, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.STRIPPED_OAK_LOG, 0.02F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.GLASS_PANE, 0.5F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(
new BlockStateMatchTest(
Blocks.GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.NORTH, true).setValue(IronBarsBlock.SOUTH, true)
),
AlwaysTrueTest.INSTANCE,
Blocks.BROWN_STAINED_GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.NORTH, true).setValue(IronBarsBlock.SOUTH, true)
),
new ProcessorRule(
new BlockStateMatchTest(Blocks.GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.EAST, true).setValue(IronBarsBlock.WEST, true)),
AlwaysTrueTest.INSTANCE,
Blocks.BROWN_STAINED_GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.EAST, true).setValue(IronBarsBlock.WEST, true)
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.CARROTS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.POTATOES.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.BEETROOTS.defaultBlockState())
)
)
)
);
register(
context,
ZOMBIE_SAVANNA,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new TagMatchTest(BlockTags.DOORS), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.WALL_TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.ACACIA_PLANKS, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.ACACIA_STAIRS, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.ACACIA_LOG, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.ACACIA_WOOD, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.ORANGE_TERRACOTTA, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.YELLOW_TERRACOTTA, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.RED_TERRACOTTA, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.GLASS_PANE, 0.5F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(
new BlockStateMatchTest(
Blocks.GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.NORTH, true).setValue(IronBarsBlock.SOUTH, true)
),
AlwaysTrueTest.INSTANCE,
Blocks.BROWN_STAINED_GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.NORTH, true).setValue(IronBarsBlock.SOUTH, true)
),
new ProcessorRule(
new BlockStateMatchTest(Blocks.GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.EAST, true).setValue(IronBarsBlock.WEST, true)),
AlwaysTrueTest.INSTANCE,
Blocks.BROWN_STAINED_GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.EAST, true).setValue(IronBarsBlock.WEST, true)
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.MELON_STEM.defaultBlockState())
)
)
)
);
register(
context,
ZOMBIE_SNOWY,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new TagMatchTest(BlockTags.DOORS), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.WALL_TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.LANTERN), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.SPRUCE_PLANKS, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.SPRUCE_SLAB, 0.4F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.STRIPPED_SPRUCE_LOG, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.STRIPPED_SPRUCE_WOOD, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.GLASS_PANE, 0.5F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(
new BlockStateMatchTest(
Blocks.GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.NORTH, true).setValue(IronBarsBlock.SOUTH, true)
),
AlwaysTrueTest.INSTANCE,
Blocks.BROWN_STAINED_GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.NORTH, true).setValue(IronBarsBlock.SOUTH, true)
),
new ProcessorRule(
new BlockStateMatchTest(Blocks.GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.EAST, true).setValue(IronBarsBlock.WEST, true)),
AlwaysTrueTest.INSTANCE,
Blocks.BROWN_STAINED_GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.EAST, true).setValue(IronBarsBlock.WEST, true)
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.CARROTS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.8F), AlwaysTrueTest.INSTANCE, Blocks.POTATOES.defaultBlockState())
)
)
)
);
register(
context,
ZOMBIE_TAIGA,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.COBBLESTONE, 0.8F), AlwaysTrueTest.INSTANCE, Blocks.MOSSY_COBBLESTONE.defaultBlockState()
),
new ProcessorRule(new TagMatchTest(BlockTags.DOORS), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.WALL_TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(
new BlockMatchTest(Blocks.CAMPFIRE),
AlwaysTrueTest.INSTANCE,
Blocks.CAMPFIRE.defaultBlockState().setValue(CampfireBlock.LIT, false)
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.COBBLESTONE, 0.08F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.SPRUCE_LOG, 0.08F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.GLASS_PANE, 0.5F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(
new BlockStateMatchTest(
Blocks.GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.NORTH, true).setValue(IronBarsBlock.SOUTH, true)
),
AlwaysTrueTest.INSTANCE,
Blocks.BROWN_STAINED_GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.NORTH, true).setValue(IronBarsBlock.SOUTH, true)
),
new ProcessorRule(
new BlockStateMatchTest(Blocks.GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.EAST, true).setValue(IronBarsBlock.WEST, true)),
AlwaysTrueTest.INSTANCE,
Blocks.BROWN_STAINED_GLASS_PANE.defaultBlockState().setValue(IronBarsBlock.EAST, true).setValue(IronBarsBlock.WEST, true)
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.PUMPKIN_STEM.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.POTATOES.defaultBlockState())
)
)
)
);
register(
context,
ZOMBIE_DESERT,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new TagMatchTest(BlockTags.DOORS), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.WALL_TORCH), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.SMOOTH_SANDSTONE, 0.08F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.CUT_SANDSTONE, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.TERRACOTTA, 0.08F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.SMOOTH_SANDSTONE_STAIRS, 0.08F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.SMOOTH_SANDSTONE_SLAB, 0.08F), AlwaysTrueTest.INSTANCE, Blocks.COBWEB.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.BEETROOTS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.MELON_STEM.defaultBlockState())
)
)
)
);
register(
context,
MOSSIFY_10_PERCENT,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.COBBLESTONE, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.MOSSY_COBBLESTONE.defaultBlockState()
)
)
)
)
);
register(
context,
MOSSIFY_20_PERCENT,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.COBBLESTONE, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.MOSSY_COBBLESTONE.defaultBlockState()
)
)
)
)
);
register(
context,
MOSSIFY_70_PERCENT,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.COBBLESTONE, 0.7F), AlwaysTrueTest.INSTANCE, Blocks.MOSSY_COBBLESTONE.defaultBlockState()
)
)
)
)
);
register(
context,
STREET_PLAINS,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new BlockMatchTest(Blocks.DIRT_PATH), new BlockMatchTest(Blocks.WATER), Blocks.OAK_PLANKS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.DIRT_PATH, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.GRASS_BLOCK.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.GRASS_BLOCK), new BlockMatchTest(Blocks.WATER), Blocks.WATER.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.DIRT), new BlockMatchTest(Blocks.WATER), Blocks.WATER.defaultBlockState())
)
)
)
);
register(
context,
STREET_SAVANNA,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new BlockMatchTest(Blocks.DIRT_PATH), new BlockMatchTest(Blocks.WATER), Blocks.ACACIA_PLANKS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.DIRT_PATH, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.GRASS_BLOCK.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.GRASS_BLOCK), new BlockMatchTest(Blocks.WATER), Blocks.WATER.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.DIRT), new BlockMatchTest(Blocks.WATER), Blocks.WATER.defaultBlockState())
)
)
)
);
register(
context,
STREET_SNOWY_OR_TAIGA,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new BlockMatchTest(Blocks.DIRT_PATH), new BlockMatchTest(Blocks.WATER), Blocks.SPRUCE_PLANKS.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.DIRT_PATH), new BlockMatchTest(Blocks.ICE), Blocks.SPRUCE_PLANKS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.DIRT_PATH, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.GRASS_BLOCK.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.GRASS_BLOCK), new BlockMatchTest(Blocks.WATER), Blocks.WATER.defaultBlockState()),
new ProcessorRule(new BlockMatchTest(Blocks.DIRT), new BlockMatchTest(Blocks.WATER), Blocks.WATER.defaultBlockState())
)
)
)
);
register(
context,
FARM_PLAINS,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.CARROTS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.POTATOES.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.BEETROOTS.defaultBlockState())
)
)
)
);
register(
context,
FARM_SAVANNA,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.MELON_STEM.defaultBlockState())
)
)
)
);
register(
context,
FARM_SNOWY,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.CARROTS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.8F), AlwaysTrueTest.INSTANCE, Blocks.POTATOES.defaultBlockState())
)
)
)
);
register(
context,
FARM_TAIGA,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.PUMPKIN_STEM.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.POTATOES.defaultBlockState())
)
)
)
);
register(
context,
FARM_DESERT,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.BEETROOTS.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.WHEAT, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.MELON_STEM.defaultBlockState())
)
)
)
);
register(context, OUTPOST_ROT, ImmutableList.of(new BlockRotProcessor(0.05F)));
register(
context,
BOTTOM_RAMPART,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.MAGMA_BLOCK, 0.75F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS, 0.15F),
AlwaysTrueTest.INSTANCE,
Blocks.POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
REMOVE_GILDED_BLACKSTONE,
ADD_GILDED_BLACKSTONE
)
)
)
);
register(
context,
TREASURE_ROOMS,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.35F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.CHISELED_POLISHED_BLACKSTONE, 0.1F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
REMOVE_GILDED_BLACKSTONE,
ADD_GILDED_BLACKSTONE
)
)
)
);
register(
context,
HOUSING,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.BLACKSTONE, 1.0E-4F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
REMOVE_GILDED_BLACKSTONE,
ADD_GILDED_BLACKSTONE
)
)
)
);
register(
context,
SIDE_WALL_DEGRADATION,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.CHISELED_POLISHED_BLACKSTONE, 0.5F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.GOLD_BLOCK, 0.1F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
REMOVE_GILDED_BLACKSTONE,
ADD_GILDED_BLACKSTONE
)
)
)
);
register(
context,
STABLE_DEGRADATION,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.1F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.BLACKSTONE, 1.0E-4F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
REMOVE_GILDED_BLACKSTONE,
ADD_GILDED_BLACKSTONE
)
)
)
);
register(
context,
BASTION_GENERIC_DEGRADATION,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.BLACKSTONE, 1.0E-4F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.GOLD_BLOCK, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
REMOVE_GILDED_BLACKSTONE,
ADD_GILDED_BLACKSTONE
)
)
)
);
register(
context,
RAMPART_DEGRADATION,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.4F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.BLACKSTONE, 0.01F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 1.0E-4F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.BLACKSTONE, 1.0E-4F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.GOLD_BLOCK, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
REMOVE_GILDED_BLACKSTONE,
ADD_GILDED_BLACKSTONE
)
)
)
);
register(
context,
ENTRANCE_REPLACEMENT,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.CHISELED_POLISHED_BLACKSTONE, 0.5F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.GOLD_BLOCK, 0.6F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
REMOVE_GILDED_BLACKSTONE,
ADD_GILDED_BLACKSTONE
)
)
)
);
register(
context,
BRIDGE,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.BLACKSTONE, 1.0E-4F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState())
)
)
)
);
register(
context,
ROOF,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.15F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.BLACKSTONE.defaultBlockState()
)
)
)
)
);
register(
context,
HIGH_WALL,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.01F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.5F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.POLISHED_BLACKSTONE_BRICKS, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.BLACKSTONE.defaultBlockState()
),
REMOVE_GILDED_BLACKSTONE
)
)
)
);
register(
context,
HIGH_RAMPART,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.GOLD_BLOCK, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS.defaultBlockState()
),
new ProcessorRule(
AlwaysTrueTest.INSTANCE,
AlwaysTrueTest.INSTANCE,
new AxisAlignedLinearPosTest(0.0F, 0.05F, 0, 100, Direction.Axis.Y),
Blocks.AIR.defaultBlockState()
),
REMOVE_GILDED_BLACKSTONE
)
)
)
);
register(context, FOSSIL_ROT, ImmutableList.of(new BlockRotProcessor(0.9F), new ProtectedBlockProcessor(BlockTags.FEATURES_CANNOT_REPLACE)));
register(context, FOSSIL_COAL, ImmutableList.of(new BlockRotProcessor(0.1F), new ProtectedBlockProcessor(BlockTags.FEATURES_CANNOT_REPLACE)));
register(
context,
FOSSIL_DIAMONDS,
ImmutableList.of(
new BlockRotProcessor(0.1F),
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(new BlockMatchTest(Blocks.COAL_ORE), AlwaysTrueTest.INSTANCE, Blocks.DEEPSLATE_DIAMOND_ORE.defaultBlockState())
)
),
new ProtectedBlockProcessor(BlockTags.FEATURES_CANNOT_REPLACE)
)
);
register(
context,
ANCIENT_CITY_START_DEGRADATION,
ImmutableList.of(
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.DEEPSLATE_BRICKS, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_DEEPSLATE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.DEEPSLATE_TILES, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.CRACKED_DEEPSLATE_TILES.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.SOUL_LANTERN, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState())
)
),
new ProtectedBlockProcessor(BlockTags.FEATURES_CANNOT_REPLACE)
)
);
register(
context,
ANCIENT_CITY_GENERIC_DEGRADATION,
ImmutableList.of(
new BlockRotProcessor(blocks.getOrThrow(BlockTags.ANCIENT_CITY_REPLACEABLE), 0.95F),
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.DEEPSLATE_BRICKS, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_DEEPSLATE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.DEEPSLATE_TILES, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.CRACKED_DEEPSLATE_TILES.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.SOUL_LANTERN, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState())
)
),
new ProtectedBlockProcessor(BlockTags.FEATURES_CANNOT_REPLACE)
)
);
register(
context,
ANCIENT_CITY_WALLS_DEGRADATION,
ImmutableList.of(
new BlockRotProcessor(blocks.getOrThrow(BlockTags.ANCIENT_CITY_REPLACEABLE), 0.95F),
new RuleProcessor(
ImmutableList.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.DEEPSLATE_BRICKS, 0.3F),
AlwaysTrueTest.INSTANCE,
Blocks.CRACKED_DEEPSLATE_BRICKS.defaultBlockState()
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.DEEPSLATE_TILES, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.CRACKED_DEEPSLATE_TILES.defaultBlockState()
),
new ProcessorRule(new RandomBlockMatchTest(Blocks.DEEPSLATE_TILE_SLAB, 0.3F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.SOUL_LANTERN, 0.05F), AlwaysTrueTest.INSTANCE, Blocks.AIR.defaultBlockState())
)
),
new ProtectedBlockProcessor(BlockTags.FEATURES_CANNOT_REPLACE)
)
);
register(
context,
TRAIL_RUINS_HOUSES_ARCHAEOLOGY,
List.of(
new RuleProcessor(
List.of(
new ProcessorRule(new RandomBlockMatchTest(Blocks.GRAVEL, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.DIRT.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.GRAVEL, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.COARSE_DIRT.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.MUD_BRICKS, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.PACKED_MUD.defaultBlockState())
)
),
trailsArchyLootProcessor(BuiltInLootTables.TRAIL_RUINS_ARCHAEOLOGY_COMMON, 6),
trailsArchyLootProcessor(BuiltInLootTables.TRAIL_RUINS_ARCHAEOLOGY_RARE, 3)
)
);
register(
context,
TRAIL_RUINS_ROADS_ARCHAEOLOGY,
List.of(
new RuleProcessor(
List.of(
new ProcessorRule(new RandomBlockMatchTest(Blocks.GRAVEL, 0.2F), AlwaysTrueTest.INSTANCE, Blocks.DIRT.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.GRAVEL, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.COARSE_DIRT.defaultBlockState()),
new ProcessorRule(new RandomBlockMatchTest(Blocks.MUD_BRICKS, 0.1F), AlwaysTrueTest.INSTANCE, Blocks.PACKED_MUD.defaultBlockState())
)
),
trailsArchyLootProcessor(BuiltInLootTables.TRAIL_RUINS_ARCHAEOLOGY_COMMON, 2)
)
);
register(context, TRAIL_RUINS_TOWER_TOP_ARCHAEOLOGY, List.of(trailsArchyLootProcessor(BuiltInLootTables.TRAIL_RUINS_ARCHAEOLOGY_COMMON, 2)));
register(
context,
TRIAL_CHAMBERS_COPPER_BULB_DEGRADATION,
List.of(
new RuleProcessor(
List.of(
new ProcessorRule(
new RandomBlockMatchTest(Blocks.WAXED_COPPER_BULB, 0.1F),
AlwaysTrueTest.INSTANCE,
Blocks.WAXED_OXIDIZED_COPPER_BULB.defaultBlockState().setValue(CopperBulbBlock.LIT, true)
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.WAXED_COPPER_BULB, 0.33333334F),
AlwaysTrueTest.INSTANCE,
Blocks.WAXED_WEATHERED_COPPER_BULB.defaultBlockState().setValue(CopperBulbBlock.LIT, true)
),
new ProcessorRule(
new RandomBlockMatchTest(Blocks.WAXED_COPPER_BULB, 0.5F),
AlwaysTrueTest.INSTANCE,
Blocks.WAXED_EXPOSED_COPPER_BULB.defaultBlockState().setValue(CopperBulbBlock.LIT, true)
)
)
),
new ProtectedBlockProcessor(BlockTags.FEATURES_CANNOT_REPLACE)
)
);
}
private static CappedProcessor trailsArchyLootProcessor(ResourceKey<LootTable> lootTable, int count) {
return new CappedProcessor(
new RuleProcessor(
List.of(
new ProcessorRule(
new TagMatchTest(BlockTags.TRAIL_RUINS_REPLACEABLE),
AlwaysTrueTest.INSTANCE,
PosAlwaysTrueTest.INSTANCE,
Blocks.SUSPICIOUS_GRAVEL.defaultBlockState(),
new AppendLoot(lootTable)
)
)
),
ConstantInt.of(count)
);
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Identifier.withDefaultNamespace()
- 引用位置:
-
- 引用位置:
参数/字段/方法调用/返回值 - 关联成员:
ResourceKey.create()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ConstantInt.of()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
AxisAlignedLinearPosTest()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
BlockMatchTest()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
BlockRotProcessor()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
BlockStateMatchTest()
- 引用位置:
-
- 引用位置:
构造调用/返回值 - 关联成员:
CappedProcessor()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
ProcessorRule()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
ProtectedBlockProcessor()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
RandomBlockMatchTest()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
RuleProcessor()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段/构造调用/返回值 - 关联成员:
StructureProcessorList()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
TagMatchTest()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
AppendLoot()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: