From 4ffcceb78fc6d42fd91e27156361e0ab1cd46460 Mon Sep 17 00:00:00 2001 From: Micle Date: Thu, 5 Jun 2025 20:16:15 +0100 Subject: [PATCH] WIP: Created item model provider for block items. --- .../data/DataGenerators.java | 2 ++ .../data/client/ModItemModelProvider.java | 31 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/main/java/dev/micle/firefly_bush_backport/data/client/ModItemModelProvider.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 e90e2e6..18c0024 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 @@ -2,6 +2,7 @@ package dev.micle.firefly_bush_backport.data; 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 net.minecraft.data.DataGenerator; import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.data.event.GatherDataEvent; @@ -16,5 +17,6 @@ public class DataGenerators { ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); generator.addProvider(event.includeServer(), new ModBlockStateProvider(generator, existingFileHelper)); + generator.addProvider(event.includeServer(), new ModItemModelProvider(generator, existingFileHelper)); } } 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 new file mode 100644 index 0000000..e6269f0 --- /dev/null +++ b/src/main/java/dev/micle/firefly_bush_backport/data/client/ModItemModelProvider.java @@ -0,0 +1,31 @@ +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.data.DataGenerator; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Block; +import net.minecraftforge.client.model.generators.ItemModelProvider; +import net.minecraftforge.common.data.ExistingFileHelper; +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); + } + + @Override + protected void registerModels() { + ModBlocks.BLOCKS.getEntries().stream().map(RegistryObject::get).forEach(this::blockItemModel); + } + + private void blockItemModel(Block block) { + if (block.asItem() != Items.AIR) { + String name = Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(block)).getPath(); + withExistingParent(name, modLoc("block/" + name)); + } + } +}