#is there a way to use shield properties without optifine?

13 messages · Page 1 of 1 (latest)

lime plover
#

!faq shield-model

grave atlasBOT
# lime plover !faq shield-model

This is an example of an overrides section of the shield.json to add more shields for the Java Edition.
If you don't know how/where to add this to your shield.json file, copy the one from the default pack (check !faq default pack if you don't know how to get the files) and replace the overrides section in there with this:

"overrides": [
        { "predicate": {"blocking": 1 }, "model": "item/shield_blocking" },
        { "predicate": {"custom_model_data": 1}, "model": "custom/spiky_shield" },
        { "predicate": {"custom_model_data": 1, "blocking": 1 }, "model": "custom/spiky_shield_blocking" }
]```

**Explanation of the predicates:**
_blocking_ = player is blocking with the shield (either 0 or 1)

Keep in mind that the order of predicates matters. It will always use the model of the last predicate in the list whose condiitons are all met!
lime plover
#

(ignore the custom_model_data part if you don't use that to add more shield models)

#

@ashen bone

#

you can also specify that stuff in Blockbench by opening your shield.json (no other model, ONLY the shield.json in models/item) and using Tools > Edit Override Predicates

#

.properties?

#

That's the Optifine specific file

#

well, let's just say it won't do much for anyone without Optifine

#

yes

#

if you aren't comfortable with editing a .json file you can do the thing in Blockbench I mentioned

lime plover
#

not afaik

#

you have to tick the box next to "is_blocking"

#

else you are checking if blocking is false