From 26b258af0499ef36010536af177b6d2a07745647 Mon Sep 17 00:00:00 2001 From: Micle Date: Mon, 25 May 2026 18:04:37 +0100 Subject: [PATCH] Ported data generation. Fixed proxy and main class. --- .../FireflyBushBackport.java | 8 +--- .../data/DataGenerators.java | 18 +++------ .../data/client/ModBlockStateProvider.java | 11 +++--- .../data/client/ModItemModelProvider.java | 8 ++-- .../client/ModSoundDefinitionsProvider.java | 26 ++++++------- .../data/loot/ModBlockLootTableProvider.java | 29 +++++++------- .../data/loot/ModLootTableProvider.java | 38 +++++++++++++++++++ .../firefly_bush_backport/proxy/Proxy.java | 7 ++-- 8 files changed, 84 insertions(+), 61 deletions(-) create mode 100644 src/main/java/dev/micle/firefly_bush_backport/data/loot/ModLootTableProvider.java diff --git a/src/main/java/dev/micle/firefly_bush_backport/FireflyBushBackport.java b/src/main/java/dev/micle/firefly_bush_backport/FireflyBushBackport.java index 5f93d55..57a2bc0 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/FireflyBushBackport.java +++ b/src/main/java/dev/micle/firefly_bush_backport/FireflyBushBackport.java @@ -15,16 +15,10 @@ public class FireflyBushBackport { private static FMLJavaModLoadingContext fmlJavaModLoadingContext; private static IProxy proxy; - public FireflyBushBackport(FMLJavaModLoadingContext context) { - fmlJavaModLoadingContext = context; - + public FireflyBushBackport() { proxy = DistExecutor.safeRunForDist( () -> Proxy.Client::new, () -> Proxy.Server::new ); } - - public static FMLJavaModLoadingContext getFMLJavaModLoadingContext() { - return fmlJavaModLoadingContext; - } } 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 054df3e..070d07e 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,16 +4,12 @@ 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.ModLootTableProvider; -import dev.micle.firefly_bush_backport.data.server.ModWorldGenProvider; -import net.minecraft.core.HolderLookup; +import dev.micle.firefly_bush_backport.data.loot.ModLootTableProvider; 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; +import net.minecraftforge.fml.event.lifecycle.GatherDataEvent; @Mod.EventBusSubscriber(modid = FireflyBushBackport.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) public class DataGenerators { @@ -21,13 +17,11 @@ public class DataGenerators { 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(new ModBlockStateProvider(generator, existingFileHelper)); + generator.addProvider(new ModItemModelProvider(generator, existingFileHelper)); + generator.addProvider(new ModSoundDefinitionsProvider(generator, existingFileHelper)); - generator.addProvider(event.includeServer(), new ModLootTableProvider(generator)); - generator.addProvider(event.includeServer(), new ModWorldGenProvider(generator, lookupProvider)); + generator.addProvider(new ModLootTableProvider(generator)); } } diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/client/ModBlockStateProvider.java b/src/main/java/dev/micle/firefly_bush_backport/data/client/ModBlockStateProvider.java index d1e883c..db3880f 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/data/client/ModBlockStateProvider.java +++ b/src/main/java/dev/micle/firefly_bush_backport/data/client/ModBlockStateProvider.java @@ -2,18 +2,18 @@ package dev.micle.firefly_bush_backport.data.client; import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.block.ModBlocks; +import net.minecraft.block.Block; import net.minecraft.data.DataGenerator; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Block; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.generators.BlockStateProvider; import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.registries.RegistryObject; +import net.minecraftforge.fml.RegistryObject; import java.util.Objects; public class ModBlockStateProvider extends BlockStateProvider { public ModBlockStateProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) { - super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper); + super(generator, FireflyBushBackport.MOD_ID, existingFileHelper); } @Override @@ -24,10 +24,9 @@ public class ModBlockStateProvider extends BlockStateProvider { private void crossEmissiveBlock(RegistryObject block) { String name = Objects.requireNonNull(block.getId()).getPath(); simpleBlock(block.get(), models() - .withExistingParent(name, ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/cross_emissive")) + .withExistingParent(name, new ResourceLocation(FireflyBushBackport.MOD_ID, "block/cross_emissive")) .texture("cross", "block/" + name) .texture("cross_emissive", "block/" + name + "_emissive") - .renderType("cutout") ); } } diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/client/ModItemModelProvider.java b/src/main/java/dev/micle/firefly_bush_backport/data/client/ModItemModelProvider.java index 2277e06..cbddf32 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/data/client/ModItemModelProvider.java +++ b/src/main/java/dev/micle/firefly_bush_backport/data/client/ModItemModelProvider.java @@ -2,21 +2,21 @@ package dev.micle.firefly_bush_backport.data.client; import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.block.ModBlocks; +import net.minecraft.block.Block; import net.minecraft.data.DataGenerator; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.block.Block; +import net.minecraft.item.Items; import net.minecraftforge.client.model.generators.ItemModelBuilder; import net.minecraftforge.client.model.generators.ItemModelProvider; import net.minecraftforge.client.model.generators.ModelFile; import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; import java.util.Objects; public class ModItemModelProvider extends ItemModelProvider { public ModItemModelProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) { - super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper); + super(generator, FireflyBushBackport.MOD_ID, existingFileHelper); } @Override diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/client/ModSoundDefinitionsProvider.java b/src/main/java/dev/micle/firefly_bush_backport/data/client/ModSoundDefinitionsProvider.java index a508d28..94cc58c 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/data/client/ModSoundDefinitionsProvider.java +++ b/src/main/java/dev/micle/firefly_bush_backport/data/client/ModSoundDefinitionsProvider.java @@ -3,13 +3,13 @@ package dev.micle.firefly_bush_backport.data.client; import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.sound.ModSounds; import net.minecraft.data.DataGenerator; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.common.data.SoundDefinitionsProvider; public class ModSoundDefinitionsProvider extends SoundDefinitionsProvider { public ModSoundDefinitionsProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) { - super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper); + super(generator, FireflyBushBackport.MOD_ID, existingFileHelper); } @Override @@ -17,31 +17,31 @@ public class ModSoundDefinitionsProvider extends SoundDefinitionsProvider { add(ModSounds.FIREFLY_BUSH_IDLE, definition() .subtitle("sound." + FireflyBushBackport.MOD_ID + ".block.firefly_bush.idle") .with( - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush1")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush1")) .volume(4), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush2")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush2")) .volume(4), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush3")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush3")) .volume(4), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush4")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush4")) .volume(4), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush5")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush5")) .volume(4), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush6")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush6")) .volume(4), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush7")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush7")) .volume(4) .weight(2), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush8")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush8")) .volume(4) .weight(2), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush9")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush9")) .volume(4) .weight(2), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush10")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush10")) .volume(4) .weight(2), - sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush11")) + sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush11")) .volume(4) ) ); diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModBlockLootTableProvider.java b/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModBlockLootTableProvider.java index 9365028..6f75cdd 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModBlockLootTableProvider.java +++ b/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModBlockLootTableProvider.java @@ -1,26 +1,23 @@ package dev.micle.firefly_bush_backport.data.loot; +import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.block.ModBlocks; -import net.minecraft.data.loot.BlockLootSubProvider; -import net.minecraft.world.flag.FeatureFlags; -import net.minecraft.world.level.block.Block; -import net.minecraftforge.registries.RegistryObject; -import org.jetbrains.annotations.NotNull; +import net.minecraft.block.Block; +import net.minecraft.data.loot.BlockLootTables; +import net.minecraftforge.registries.ForgeRegistries; -import java.util.Set; +import java.util.stream.Collectors; -public class ModBlockLootTableProvider extends BlockLootSubProvider { - public ModBlockLootTableProvider() { - super(Set.of(), FeatureFlags.REGISTRY.allFlags()); +public class ModBlockLootTableProvider extends BlockLootTables { + @Override + protected void addTables() { + dropSelf(ModBlocks.FIREFLY_BUSH.get()); } @Override - protected void generate() { - this.dropSelf(ModBlocks.FIREFLY_BUSH.get()); - } - - @Override - protected @NotNull Iterable getKnownBlocks() { - return ModBlocks.BLOCKS.getEntries().stream().map(RegistryObject::get)::iterator; + protected Iterable getKnownBlocks() { + return ForgeRegistries.BLOCKS.getValues().stream() + .filter(block -> FireflyBushBackport.MOD_ID.equals(block.getRegistryName().getNamespace())) + .collect(Collectors.toSet()); } } diff --git a/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModLootTableProvider.java b/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModLootTableProvider.java new file mode 100644 index 0000000..18dfa8c --- /dev/null +++ b/src/main/java/dev/micle/firefly_bush_backport/data/loot/ModLootTableProvider.java @@ -0,0 +1,38 @@ +package dev.micle.firefly_bush_backport.data.loot; + +import com.google.common.collect.ImmutableList; +import com.mojang.datafixers.util.Pair; +import dev.micle.firefly_bush_backport.FireflyBushBackport; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.LootTableProvider; +import net.minecraft.loot.*; +import net.minecraft.util.ResourceLocation; + +import java.util.List; +import java.util.Map; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Supplier; + +public class ModLootTableProvider extends LootTableProvider { + public ModLootTableProvider(DataGenerator generator) { + super(generator); + } + + @Override + public String getName() { + return new ResourceLocation(FireflyBushBackport.MOD_ID, "loot_tables").toString(); + } + + @Override + protected List>>, LootParameterSet>> getTables() { + return ImmutableList.of( + Pair.of(ModBlockLootTableProvider::new, LootParameterSets.BLOCK) + ); + } + + @Override + protected void validate(Map map, ValidationTracker validationTracker) { + map.forEach((id, table) -> LootTableManager.validate(validationTracker, id, table)); + } +} diff --git a/src/main/java/dev/micle/firefly_bush_backport/proxy/Proxy.java b/src/main/java/dev/micle/firefly_bush_backport/proxy/Proxy.java index 4d56ee4..e9b7daf 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/proxy/Proxy.java +++ b/src/main/java/dev/micle/firefly_bush_backport/proxy/Proxy.java @@ -23,13 +23,14 @@ import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.event.lifecycle.*; import net.minecraftforge.fml.event.server.FMLServerStartedEvent; import net.minecraftforge.fml.event.server.FMLServerStoppingEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; public class Proxy implements IProxy { private static MinecraftServer server = null; // Common setup public Proxy() { - IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus(); + IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); Config.register(); ModBlocks.register(modEventBus); @@ -88,7 +89,7 @@ public class Proxy implements IProxy { // Client setup public static class Client extends Proxy { public Client() { - IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus(); + IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); // Register mod event bus listeners modEventBus.addListener(Client::setup); @@ -121,7 +122,7 @@ public class Proxy implements IProxy { public static class Server extends Proxy { public Server() { // Register mod event bus listeners - IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus(); + IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); modEventBus.addListener(Server::setup); }