488 lines
19 KiB
Java
488 lines
19 KiB
Java
package com.cursedcauldron.wildbackport.common.worldgen.structure.pools;
|
|
|
|
import com.cursedcauldron.wildbackport.common.registry.worldgen.WBWorldGeneration;
|
|
import com.cursedcauldron.wildbackport.common.worldgen.structure.processors.WBProcessorLists;
|
|
import com.google.common.collect.ImmutableList;
|
|
import com.mojang.datafixers.util.Pair;
|
|
|
|
import net.minecraft.data.worldgen.Pools;
|
|
import net.minecraft.resources.ResourceLocation;
|
|
import net.minecraft.world.level.levelgen.structure.pools.StructurePoolElement;
|
|
import net.minecraft.world.level.levelgen.structure.pools.StructureTemplatePool;
|
|
|
|
public class AncientCityStructurePools {
|
|
public static void bootstrap() {
|
|
Pools.register(new StructureTemplatePool(
|
|
new ResourceLocation("ancient_city/structures"),
|
|
new ResourceLocation("empty"),
|
|
ImmutableList.of(
|
|
Pair.of(StructurePoolElement.empty(), 7),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/barracks",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
4
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/chamber_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
4
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/chamber_2",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
4
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/chamber_3",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
4
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/sauna_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
4
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/small_statue",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
4
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/large_ruin_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/tall_ruin_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/tall_ruin_2",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/tall_ruin_3",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
2
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/tall_ruin_4",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
2
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.list(ImmutableList.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/camp_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/camp_2",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/camp_3",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
)
|
|
)),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/medium_ruin_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/medium_ruin_2",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/small_ruin_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/small_ruin_2",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/large_pillar_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/structures/medium_pillar_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.list(ImmutableList.of(
|
|
StructurePoolElement.single("ancient_city/structures/ice_box_1")
|
|
)),
|
|
1
|
|
)
|
|
),
|
|
StructureTemplatePool.Projection.RIGID
|
|
));
|
|
Pools.register(new StructureTemplatePool(
|
|
new ResourceLocation("ancient_city/sculk"),
|
|
new ResourceLocation("empty"),
|
|
ImmutableList.of(
|
|
Pair.of(
|
|
StructurePoolElement
|
|
.feature(WBWorldGeneration.SCULK_PATCH_ANCIENT_CITY_PLACED),
|
|
6
|
|
),
|
|
Pair.of(StructurePoolElement.empty(), 1)
|
|
),
|
|
StructureTemplatePool.Projection.RIGID
|
|
));
|
|
Pools.register(new StructureTemplatePool(
|
|
new ResourceLocation("ancient_city/walls"),
|
|
new ResourceLocation("empty"),
|
|
ImmutableList.of(
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_corner_wall_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_intersection_wall_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_lshape_wall_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_2",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_2",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_3",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_4",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
4
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_passage_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
3
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/ruined_corner_wall_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/ruined_corner_wall_2",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/ruined_horizontal_wall_stairs_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
2
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/ruined_horizontal_wall_stairs_2",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
2
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/ruined_horizontal_wall_stairs_3",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
3
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/ruined_horizontal_wall_stairs_4",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
3
|
|
)
|
|
),
|
|
StructureTemplatePool.Projection.RIGID
|
|
));
|
|
Pools.register(new StructureTemplatePool(
|
|
new ResourceLocation("ancient_city/walls/no_corners"),
|
|
new ResourceLocation("empty"),
|
|
ImmutableList.of(
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_2",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_1",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_2",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_3",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_4",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_stairs_5",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/walls/intact_horizontal_wall_bridge",
|
|
WBProcessorLists.ANCIENT_CITY_WALLS_DEGRADATION
|
|
),
|
|
1
|
|
)
|
|
),
|
|
StructureTemplatePool.Projection.RIGID
|
|
));
|
|
Pools.register(new StructureTemplatePool(
|
|
new ResourceLocation("ancient_city/city_center/walls"),
|
|
new ResourceLocation("empty"),
|
|
ImmutableList.of(
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/bottom_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/bottom_2",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/bottom_left_corner",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/bottom_right_corner_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/bottom_right_corner_2",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/left",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/right",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/top",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/top_right_corner",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city_center/walls/top_left_corner",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
)
|
|
),
|
|
StructureTemplatePool.Projection.RIGID
|
|
));
|
|
Pools.register(new StructureTemplatePool(
|
|
new ResourceLocation("ancient_city/city/entrance"),
|
|
new ResourceLocation("empty"),
|
|
ImmutableList.of(
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city/entrance/entrance_connector",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city/entrance/entrance_path_1",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city/entrance/entrance_path_2",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city/entrance/entrance_path_3",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city/entrance/entrance_path_4",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
),
|
|
Pair.of(
|
|
StructurePoolElement.single(
|
|
"ancient_city/city/entrance/entrance_path_5",
|
|
WBProcessorLists.ANCIENT_CITY_GENERIC_DEGRADATION
|
|
),
|
|
1
|
|
)
|
|
),
|
|
StructureTemplatePool.Projection.RIGID
|
|
));
|
|
}
|
|
}
|