package net.minecraft.data.worldgen.placement; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.data.worldgen.features.PileFeatures; import net.minecraft.data.worldgen.features.TreeFeatures; import net.minecraft.data.worldgen.features.VegetationFeatures; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.placement.PlacedFeature; public class VillagePlacements { public static final ResourceKey PILE_HAY_VILLAGE = PlacementUtils.createKey("pile_hay"); public static final ResourceKey PILE_MELON_VILLAGE = PlacementUtils.createKey("pile_melon"); public static final ResourceKey PILE_SNOW_VILLAGE = PlacementUtils.createKey("pile_snow"); public static final ResourceKey PILE_ICE_VILLAGE = PlacementUtils.createKey("pile_ice"); public static final ResourceKey PILE_PUMPKIN_VILLAGE = PlacementUtils.createKey("pile_pumpkin"); public static final ResourceKey OAK_VILLAGE = PlacementUtils.createKey("oak"); public static final ResourceKey ACACIA_VILLAGE = PlacementUtils.createKey("acacia"); public static final ResourceKey SPRUCE_VILLAGE = PlacementUtils.createKey("spruce"); public static final ResourceKey PINE_VILLAGE = PlacementUtils.createKey("pine"); public static final ResourceKey PATCH_CACTUS_VILLAGE = PlacementUtils.createKey("patch_cactus"); public static final ResourceKey FLOWER_PLAIN_VILLAGE = PlacementUtils.createKey("flower_plain"); public static final ResourceKey PATCH_TAIGA_GRASS_VILLAGE = PlacementUtils.createKey("patch_taiga_grass"); public static final ResourceKey PATCH_BERRY_BUSH_VILLAGE = PlacementUtils.createKey("patch_berry_bush"); public static void bootstrap(BootstrapContext context) { HolderGetter> holderGetter = context.lookup(Registries.CONFIGURED_FEATURE); Holder> holder = holderGetter.getOrThrow(PileFeatures.PILE_HAY); Holder> holder2 = holderGetter.getOrThrow(PileFeatures.PILE_MELON); Holder> holder3 = holderGetter.getOrThrow(PileFeatures.PILE_SNOW); Holder> holder4 = holderGetter.getOrThrow(PileFeatures.PILE_ICE); Holder> holder5 = holderGetter.getOrThrow(PileFeatures.PILE_PUMPKIN); Holder> holder6 = holderGetter.getOrThrow(TreeFeatures.OAK); Holder> holder7 = holderGetter.getOrThrow(TreeFeatures.ACACIA); Holder> holder8 = holderGetter.getOrThrow(TreeFeatures.SPRUCE); Holder> holder9 = holderGetter.getOrThrow(TreeFeatures.PINE); Holder> holder10 = holderGetter.getOrThrow(VegetationFeatures.PATCH_CACTUS); Holder> holder11 = holderGetter.getOrThrow(VegetationFeatures.FLOWER_PLAIN); Holder> holder12 = holderGetter.getOrThrow(VegetationFeatures.PATCH_TAIGA_GRASS); Holder> holder13 = holderGetter.getOrThrow(VegetationFeatures.PATCH_BERRY_BUSH); PlacementUtils.register(context, PILE_HAY_VILLAGE, holder); PlacementUtils.register(context, PILE_MELON_VILLAGE, holder2); PlacementUtils.register(context, PILE_SNOW_VILLAGE, holder3); PlacementUtils.register(context, PILE_ICE_VILLAGE, holder4); PlacementUtils.register(context, PILE_PUMPKIN_VILLAGE, holder5); PlacementUtils.register(context, OAK_VILLAGE, holder6, PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING)); PlacementUtils.register(context, ACACIA_VILLAGE, holder7, PlacementUtils.filteredByBlockSurvival(Blocks.ACACIA_SAPLING)); PlacementUtils.register(context, SPRUCE_VILLAGE, holder8, PlacementUtils.filteredByBlockSurvival(Blocks.SPRUCE_SAPLING)); PlacementUtils.register(context, PINE_VILLAGE, holder9, PlacementUtils.filteredByBlockSurvival(Blocks.SPRUCE_SAPLING)); PlacementUtils.register(context, PATCH_CACTUS_VILLAGE, holder10); PlacementUtils.register(context, FLOWER_PLAIN_VILLAGE, holder11); PlacementUtils.register(context, PATCH_TAIGA_GRASS_VILLAGE, holder12); PlacementUtils.register(context, PATCH_BERRY_BUSH_VILLAGE, holder13); } }