From cb44ecc59b4998342549793cdd9e9533c2983d67 Mon Sep 17 00:00:00 2001 From: Micle Date: Mon, 25 May 2026 17:20:01 +0100 Subject: [PATCH] Porting configured features. --- .../worldgen/ModConfiguredFeatures.java | 52 ++++++------------- 1 file changed, 17 insertions(+), 35 deletions(-) diff --git a/src/main/java/dev/micle/firefly_bush_backport/worldgen/ModConfiguredFeatures.java b/src/main/java/dev/micle/firefly_bush_backport/worldgen/ModConfiguredFeatures.java index 66849da..6433898 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/worldgen/ModConfiguredFeatures.java +++ b/src/main/java/dev/micle/firefly_bush_backport/worldgen/ModConfiguredFeatures.java @@ -2,43 +2,25 @@ package dev.micle.firefly_bush_backport.worldgen; import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.block.ModBlocks; -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.resources.ResourceLocation; -import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.RandomPatchConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.SimpleBlockConfiguration; -import net.minecraft.world.level.levelgen.feature.stateproviders.SimpleStateProvider; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.WorldGenRegistries; +import net.minecraft.world.gen.blockplacer.SimpleBlockPlacer; +import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider; +import net.minecraft.world.gen.feature.BlockClusterFeatureConfig; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.IFeatureConfig; public class ModConfiguredFeatures { - public static final ResourceKey> PATCH_FIREFLY_BUSH_KEY = registerKey("patch_firefly_bush"); + public static final ConfiguredFeature PATCH_FIREFLY_BUSH_KEY = create("patch_firefly_bush", Feature.RANDOM_PATCH.configured( + new BlockClusterFeatureConfig.Builder( + new SimpleBlockStateProvider(ModBlocks.FIREFLY_BUSH.get().defaultBlockState()), new SimpleBlockPlacer() + ).tries(20).xspread(4).zspread(4).yspread(3).build() + )); - public static void bootstrap(BootstapContext> context) { - register(context, PATCH_FIREFLY_BUSH_KEY, Feature.RANDOM_PATCH, new RandomPatchConfiguration( - 20, - 4, - 3, - PlacementUtils.onlyWhenEmpty( - Feature.SIMPLE_BLOCK, - new SimpleBlockConfiguration( - SimpleStateProvider.simple(ModBlocks.FIREFLY_BUSH.get()) - ) - ) - )); - } - - public static ResourceKey> registerKey(String name) { - return ResourceKey.create(Registries.CONFIGURED_FEATURE, ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, name)); - } - - private static > void register( - BootstapContext> context, - ResourceKey> key, F feature, FC configuration - ) { - context.register(key, new ConfiguredFeature<>(feature, configuration)); + public static , CF extends ConfiguredFeature> CF create(String id, CF configuredFeature) { + Registry.register(WorldGenRegistries.CONFIGURED_FEATURE, new ResourceLocation(FireflyBushBackport.MOD_ID, id), configuredFeature); + return configuredFeature; } }