diff --git a/src/main/java/com/acethewildfire/acesbs/AcesBSClient.java b/src/main/java/com/acethewildfire/acesbs/AcesBSClient.java index 4a549b2..f75287f 100644 --- a/src/main/java/com/acethewildfire/acesbs/AcesBSClient.java +++ b/src/main/java/com/acethewildfire/acesbs/AcesBSClient.java @@ -1,6 +1,7 @@ package com.acethewildfire.acesbs; import com.acethewildfire.acesbs.block.ModBlocks; +import com.acethewildfire.acesbs.util.ModModelPredicates; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.minecraft.client.render.RenderLayer; @@ -10,5 +11,7 @@ public class AcesBSClient implements ClientModInitializer { public void onInitializeClient() { BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.LEMONWOOD_DOOR, RenderLayer.getTranslucent()); BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.LEMONWOOD_TRAPDOOR, RenderLayer.getTranslucent()); + + ModModelPredicates.registerModelPredicates(); } } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java index 1e16024..b64416c 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java @@ -53,7 +53,7 @@ public class ModModelProvider extends FabricModelProvider { itemModelGenerator.register(ModItems.ORACLE_LEMON, Models.GENERATED); itemModelGenerator.register(ModItems.GREEN_BRICKS, Models.GENERATED); itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED); - itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD); +// itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD); itemModelGenerator.register(ModItems.PRISMA_STEEL, Models.GENERATED); itemModelGenerator.register(ModItems.PRISMA_SMITHING_TEMPLATE, Models.GENERATED); diff --git a/src/main/java/com/acethewildfire/acesbs/util/ModModelPredicates.java b/src/main/java/com/acethewildfire/acesbs/util/ModModelPredicates.java new file mode 100644 index 0000000..804b5c6 --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/util/ModModelPredicates.java @@ -0,0 +1,17 @@ +package com.acethewildfire.acesbs.util; + +import com.acethewildfire.acesbs.AcesBS; +import com.acethewildfire.acesbs.component.ModDataComponentTypes; +import com.acethewildfire.acesbs.item.ModItems; +import net.minecraft.client.item.ModelPredicateProviderRegistry; +import net.minecraft.util.Identifier; + +public class ModModelPredicates { + + public static void registerModelPredicates () { + ModelPredicateProviderRegistry.register(ModItems.WAND, Identifier.of(AcesBS.MOD_ID, "used"), + (stack, world, entity, seed) -> stack.get(ModDataComponentTypes.COORDINATES) != null ? 1f : 0f); + + + } +} diff --git a/src/main/resources/assets/acesbs/models/item/wand.json b/src/main/resources/assets/acesbs/models/item/wand.json new file mode 100644 index 0000000..613b382 --- /dev/null +++ b/src/main/resources/assets/acesbs/models/item/wand.json @@ -0,0 +1,14 @@ +{ + "parent": "minecraft:item/handheld_rod", + "textures": { + "layer0": "acesbs:item/wand" + }, + "overrides": [ + { + "predicate": { + "acesbs:used": 1 + }, + "model": "acesbs:item/wand_used" + } + ] +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/item/wand.json b/src/main/resources/assets/acesbs/models/item/wand_used.json similarity index 63% rename from src/main/generated/assets/acesbs/models/item/wand.json rename to src/main/resources/assets/acesbs/models/item/wand_used.json index 9a8bf0e..0317f6a 100644 --- a/src/main/generated/assets/acesbs/models/item/wand.json +++ b/src/main/resources/assets/acesbs/models/item/wand_used.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/handheld_rod", "textures": { - "layer0": "acesbs:item/wand" + "layer0": "acesbs:item/wand_used" } } \ No newline at end of file diff --git a/src/main/resources/assets/acesbs/textures/item/wand_used.png b/src/main/resources/assets/acesbs/textures/item/wand_used.png new file mode 100644 index 0000000..b3f304e Binary files /dev/null and b/src/main/resources/assets/acesbs/textures/item/wand_used.png differ