From 5ff5f35885918d38210b599255d8778df1f70a9d Mon Sep 17 00:00:00 2001 From: ZestyBlaze <68081568+ZestyBlaze@users.noreply.github.com> Date: Sat, 14 Sep 2024 14:04:41 +0100 Subject: [PATCH 1/3] New model util methods --- .../model/generators/ItemModelProvider.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/net/neoforged/neoforge/client/model/generators/ItemModelProvider.java b/src/main/java/net/neoforged/neoforge/client/model/generators/ItemModelProvider.java index f4af7fdeaf..c029aa6158 100644 --- a/src/main/java/net/neoforged/neoforge/client/model/generators/ItemModelProvider.java +++ b/src/main/java/net/neoforged/neoforge/client/model/generators/ItemModelProvider.java @@ -31,6 +31,25 @@ public ItemModelBuilder basicItem(ResourceLocation item) { .texture("layer0", ResourceLocation.fromNamespaceAndPath(item.getNamespace(), "item/" + item.getPath())); } + public ItemModelBuilder handheldItem(Item item) { + return handheldItem(Objects.requireNonNull(BuiltInRegistries.ITEM.getKey(item))); + } + + public ItemModelBuilder handheldItem(ResourceLocation item) { + return getBuilder(item.toString()) + .parent(new ModelFile.UncheckedModelFile("item/handheld")) + .texture("layer0", ResourceLocation.fromNamespaceAndPath(item.getNamespace(), "item/" + item.getPath())); + } + + public ItemModelBuilder spawnEggItem(Item item) { + return spawnEggItem(Objects.requireNonNull(BuiltInRegistries.ITEM.getKey(item))); + } + + public ItemModelBuilder spawnEggItem(ResourceLocation item) { + return getBuilder(item.toString()) + .parent(new ModelFile.UncheckedModelFile("item/template_spawn_egg")); + } + @Override public String getName() { return "Item Models: " + modid; From 28bd7fafd91f301040595d50cc59a90868ab4d83 Mon Sep 17 00:00:00 2001 From: ZestyBlaze <68081568+ZestyBlaze@users.noreply.github.com> Date: Mon, 23 Sep 2024 23:36:37 +0100 Subject: [PATCH 2/3] Add `simpleBlockItem` --- .../client/model/generators/ItemModelProvider.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/net/neoforged/neoforge/client/model/generators/ItemModelProvider.java b/src/main/java/net/neoforged/neoforge/client/model/generators/ItemModelProvider.java index c029aa6158..a2d50ee275 100644 --- a/src/main/java/net/neoforged/neoforge/client/model/generators/ItemModelProvider.java +++ b/src/main/java/net/neoforged/neoforge/client/model/generators/ItemModelProvider.java @@ -10,6 +10,7 @@ import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.common.data.ExistingFileHelper; /** @@ -50,6 +51,14 @@ public ItemModelBuilder spawnEggItem(ResourceLocation item) { .parent(new ModelFile.UncheckedModelFile("item/template_spawn_egg")); } + public ItemModelBuilder simpleBlockItem(Block block) { + return simpleBlockItem(Objects.requireNonNull(BuiltInRegistries.BLOCK.getKey(block))); + } + + public ItemModelBuilder simpleBlockItem(ResourceLocation item) { + return withExistingParent(item.toString(), ResourceLocation.fromNamespaceAndPath(item.getNamespace(), "block/" + item.getPath())); + } + @Override public String getName() { return "Item Models: " + modid; From 769bca04127fedb9ae4f053e5113515ac70bbd14 Mon Sep 17 00:00:00 2001 From: ZestyBlaze <68081568+ZestyBlaze@users.noreply.github.com> Date: Mon, 23 Sep 2024 23:36:41 +0100 Subject: [PATCH 3/3] Add tests --- .../oldtest/client/model/CustomItemDisplayContextTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/src/main/java/net/neoforged/neoforge/oldtest/client/model/CustomItemDisplayContextTest.java b/tests/src/main/java/net/neoforged/neoforge/oldtest/client/model/CustomItemDisplayContextTest.java index 9c6ce94624..17f8a3cb3a 100644 --- a/tests/src/main/java/net/neoforged/neoforge/oldtest/client/model/CustomItemDisplayContextTest.java +++ b/tests/src/main/java/net/neoforged/neoforge/oldtest/client/model/CustomItemDisplayContextTest.java @@ -34,6 +34,7 @@ import net.minecraft.world.item.Items; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.RenderShape; @@ -167,6 +168,12 @@ protected void registerModels() { .translation(-2.25f, 1.5f, -0.25f).scale(0.48f) .end() .end(); + + handheldItem(Items.WOODEN_SWORD); + + spawnEggItem(Items.SHEEP_SPAWN_EGG); + + simpleBlockItem(Blocks.ACACIA_PLANKS); } }