TheWildBackport/common/src/main/java/com/cursedcauldron/wildbackport/common/worldgen/structure/pools/AncientCityStructurePools.java
2023-09-23 16:05:22 +02:00

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
));
}
}