From 82f01dcc9cd8c7684ea76c2b86e23fac2173bd72 Mon Sep 17 00:00:00 2001 From: Micle Date: Fri, 6 Jun 2025 03:38:49 +0100 Subject: [PATCH] Created data generator for world gen. --- .../data/DataGenerators.java | 6 +++++ .../data/server/ModWorldGenProvider.java | 23 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/main/java/dev/micle/firefly_bush_backport/data/server/ModWorldGenProvider.java diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/DataGenerators.java b/src/main/java/dev/micle/firefly_bush_backport/data/DataGenerators.java index 3e682b4..e31fdc1 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/data/DataGenerators.java +++ b/src/main/java/dev/micle/firefly_bush_backport/data/DataGenerators.java @@ -4,21 +4,27 @@ import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.data.client.ModBlockStateProvider; import dev.micle.firefly_bush_backport.data.client.ModItemModelProvider; import dev.micle.firefly_bush_backport.data.client.ModSoundDefinitionsProvider; +import dev.micle.firefly_bush_backport.data.server.ModWorldGenProvider; +import net.minecraft.core.HolderLookup; import net.minecraft.data.DataGenerator; import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.data.event.GatherDataEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; +import java.util.concurrent.CompletableFuture; + @Mod.EventBusSubscriber(modid = FireflyBushBackport.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) public class DataGenerators { @SubscribeEvent public static void gatherData(GatherDataEvent event) { DataGenerator generator = event.getGenerator(); ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); + CompletableFuture lookupProvider = event.getLookupProvider(); generator.addProvider(event.includeClient(), new ModBlockStateProvider(generator, existingFileHelper)); generator.addProvider(event.includeClient(), new ModItemModelProvider(generator, existingFileHelper)); generator.addProvider(event.includeClient(), new ModSoundDefinitionsProvider(generator, existingFileHelper)); + generator.addProvider(event.includeServer(), new ModWorldGenProvider(generator, lookupProvider)); } } diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/server/ModWorldGenProvider.java b/src/main/java/dev/micle/firefly_bush_backport/data/server/ModWorldGenProvider.java new file mode 100644 index 0000000..cd258d2 --- /dev/null +++ b/src/main/java/dev/micle/firefly_bush_backport/data/server/ModWorldGenProvider.java @@ -0,0 +1,23 @@ +package dev.micle.firefly_bush_backport.data.server; + +import dev.micle.firefly_bush_backport.FireflyBushBackport; +import dev.micle.firefly_bush_backport.worldgen.ModConfiguredFeatures; +import dev.micle.firefly_bush_backport.worldgen.ModPlacedFeatures; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.RegistrySetBuilder; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.DataGenerator; +import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider; + +import java.util.Set; +import java.util.concurrent.CompletableFuture; + +public class ModWorldGenProvider extends DatapackBuiltinEntriesProvider { + public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() + .add(Registries.CONFIGURED_FEATURE, ModConfiguredFeatures::bootstrap) + .add(Registries.PLACED_FEATURE, ModPlacedFeatures::bootstrap); + + public ModWorldGenProvider(DataGenerator generator, CompletableFuture registries) { + super(generator.getPackOutput(), registries, BUILDER, Set.of(FireflyBushBackport.MOD_ID)); + } +}