From 20bba740db9d7634fb9d9fedcc38c71d3309c983 Mon Sep 17 00:00:00 2001 From: Vos Date: Mon, 10 Nov 2025 22:46:58 -0600 Subject: [PATCH] Model predicates --- .../acethewildfire/acesbs/AcesBSClient.java | 3 +++ .../acesbs/datagen/ModModelProvider.java | 2 +- .../acesbs/util/ModModelPredicates.java | 17 +++++++++++++++++ .../assets/acesbs/models/item/wand.json | 14 ++++++++++++++ .../assets/acesbs/models/item/wand_used.json} | 2 +- .../assets/acesbs/textures/item/wand_used.png | Bin 0 -> 4693 bytes 6 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/acethewildfire/acesbs/util/ModModelPredicates.java create mode 100644 src/main/resources/assets/acesbs/models/item/wand.json rename src/main/{generated/assets/acesbs/models/item/wand.json => resources/assets/acesbs/models/item/wand_used.json} (63%) create mode 100644 src/main/resources/assets/acesbs/textures/item/wand_used.png 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 0000000000000000000000000000000000000000..b3f304e6c2b3f9ab95a6c3ea064a7cb2664bd47c GIT binary patch literal 4693 zcmeHLdsGzX6<>lb@=BEOs?j%cI{c@6(*q!)g7G*)u!y z-S6Jtckl1s`{bP^*35Ik>_vL^c%qqP*7h_=-hKi-A?@h<2T~Dwc^T!#SsRXTT^Ss8dr^Ai$sb~x+Aj6`-`KLG;HO`|$a+>UsI3a`xb^0lg-u&u zKYU_av(Gz+rnTlAKKJ&O+OG_4RWCHBY@9#%gny>ydUtlnrqr8Kk;v!QoL--vqSudv z1A?f0wOpIrur#u?Q!nciOV znr=s?UxX!hZqD?$hklK@jtss$q&77GHl4Zqr>#9TJzw5`X=#4j{x#x|%^zeZD)xp3 zo)5!%xBDFMX`H#c;{Btpz#`ACk2du7{wks?`&QwmU2#Vkye>Km->dx^xA}TTVrKCCY!f4ToLu`(#l_a5)&|`-y~G#0KhE@x zx}Z@UUgqrU-1M;ew7FZR4(jgAYaK9BY3YpL7&*T?pgo3F2E zJ(vp@PYbg8MzrS|Zuv^xo6Dnf@fVXGeHLajXN z-HAjRoyS4ZYgryLu@=szl{~1fl|US$mHb?8Kn)H(o6jW|JK0smX-2wuEv;rGy4V1X zhXeptmZu<(wZP^gJz9wumjv&E7?D6;6@IN&l4VGT^mZo;$)qwV3MY8D^|&N90Ma-a zGno;eI1B+sT1h_7J4gg^yWLVZA+qKMUsjJI&{3F`sKutPs; z;WC0QMKV~Iz0gUs3F}!KA2l9=p-1fhM|tvL|TroOz6_3BCz4-f+e{0?bEoCuonv?o|d_1_K#yrwax5QsT7|VSSRZ(;P#3 zUzI4T#$*@{n^BV-mZ=E^td=uMm{OQ%1*MeXG6gdZD#hmFDI3iSPyk%Y0UQ;>(gXnv zF`P2NG8LnMDN1FA8BA`*7!!`02-P@<6;2LRB~>uqD*=iDP?T9s$>kUUD_I73!z$Il z5mXMdC}T3SD!GgxWL_wSCKK&WD+SWYSt$#PIBXX0gg`hMm!6`P;8Ju+XE<}wf72G)2ht2BJ(+WX^^3fsp`KdBt{WN+4GTDLGeMBIEl7$U3c*FKXNNKl zu!g4Se9C5F!TvE^up@HrM~VS66Eci4F)+(26(EBO99ElU1kB1YnF&*2jKV~DSr|ok z+0DG0aeBH{oleHtBBF?G>EVvjwDlq{71Tn6vpkKfR-T{ z*qOmbkBsj0!+e2MJk4vk%%0{F5Hz*Or1+hpYl^N(F)%6Rsp^`dYf=nMN_ncf{%>>z zjGYx(8~B0e1}DM5$L)Uxr%16WH7Q>7mhhRiS)&IMe@Ak*OC$<>UbuZk2Pz|h(2q|s zB>3G644fA2|HCi8?*e}nNK)eCjH=5t0|oab-6inyx2mEp_6!b|t%{88>LOy6pJej# z@_Jj6xBEPJHipe=fSMeA!BP4pT?X-@2O6;{_u*jC#*o)KckBo{lwkbHSN3c5jwjzD zV&MumeW+uh^L2bbrk~ZGQF`II9{l*33@DBEG~XP2W#60sT>Xo)-8y$k$KYc3Z)-oT z>ub4u@%*{uWLM=8X~UK3+Q?lu)lH84l|Ng)egBp%x99o#`rb!pwCw+vt|8kmn}`DA zpuwoGzwPf{G4RnE^3iJDdjq=IKkn?UJo~ubR=T5m_IJg5{P&$GyR!V$2`ncsqJ2Qu zoUxDU`LZJ@>HeGrADb5lero;0O8pR3x&B~&U430$oujuotTYw5|N8IuFBXZ;L~rxI UKJff$K%gikAuaw7%koP84H#IZkN^Mx literal 0 HcmV?d00001