I make a resource pack that relies on a mod (Peek) to theme shulker boxes with flat icons, depending on the contents of the shulker. I haven’t updated it since the 1.21 model changes ’cause I expected these things to be improved… they haven’t.
Previous to these changes, I used predicate overrides to allow my resource pack to theme models only for the shulkers and not for the rest of the world. This is supported by the mod by setting “peek:shulker_item=1” as custom data. Previously it used custom_model_data but that had interactions with other resource packs and infrequently Minecraft would select the wrong model (see early Hermitcraft s10 for Zed locks appearing at odd times)
Previously pre-1.21.4, model files looked something like this:
{"parent":"minecraft:item/copper_door","overrides":[{"predicate":{"peek:shulker_item":1},"model":"peek_flat/waxed_copper_door"},{"predicate":{"custom_model_data":1702},"model":"peek_flat/waxed_copper_door"}]}
I cannot support both options anymore. I need to match on custom_data “peek:shulker_item” and I don’t believe this is possible, or it’s not working as I expect. I just cannot seem to get component to work, as shown below:
Everything I have read on minecraft.wiki | reddit | etc suggests this is how it should be, and it doesn’t work. And there is zero debug output to let me know what could be wrong.
{"model": {
"type": "minecraft:condition",
"property": "minecraft:component",
"predicate": "minecraft:custom_data",
"value": { "peek:shulker_item": 1 },
"on_true": { "type": "model", "model": "peek_flat/waxed_copper_door" },
"on_false": { "type": "model", "model": "minecraft:item/copper_door" }
}}
Environment
Minecraft 1.21.8, Linux, bare minimum Fabric client install.
Comments 0
No comments.