package de.ellpeck.actuallyadditions.mod.gen; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstapContext; import net.minecraft.data.worldgen.placement.PlacementUtils; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.levelgen.VerticalAnchor; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.placement.BiomeFilter; import net.minecraft.world.level.levelgen.placement.CountPlacement; import net.minecraft.world.level.levelgen.placement.HeightRangePlacement; import net.minecraft.world.level.levelgen.placement.InSquarePlacement; import net.minecraft.world.level.levelgen.placement.PlacedFeature; import net.minecraft.world.level.levelgen.placement.PlacementModifier; import java.util.List; public class ActuallyPlacedFeatures { public static final ResourceKey PLACED_ORE_BLACK_QUARTZ = PlacementUtils.createKey("actuallyadditions:ore_black_quartz"); public static void bootstrap(BootstapContext context) { HolderGetter> holdergetter = context.lookup(Registries.CONFIGURED_FEATURE); PlacementUtils.register(context, PLACED_ORE_BLACK_QUARTZ, holdergetter.getOrThrow(ActuallyConfiguredFeatures.ORE_BLACK_QUARTZ), commonOrePlacement(8, HeightRangePlacement.triangle(VerticalAnchor.absolute(-25), VerticalAnchor.absolute(45)))); } private static List orePlacement(PlacementModifier modifier, PlacementModifier modifier1) { return List.of(modifier, InSquarePlacement.spread(), modifier1, BiomeFilter.biome()); } private static List commonOrePlacement(int count, PlacementModifier modifier) { return orePlacement(CountPlacement.of(count), modifier); } }