Remove Java custom armor trims when translating item to Bedrock to prevent visual issues (#4548)

* Fix (or workaround) armor items with custom armor trims having no texture on bedrock

* Fix armor items with custom trims causing issues on entity models by removing the Trim tag entirely

* Refer to minecraft namespace inline for consistency
This commit is contained in:
Eclipse 2024-04-04 18:55:00 +00:00 committed by GitHub
parent 29bd896682
commit 1819ed4dbd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -47,6 +47,14 @@ public class ArmorItem extends Item {
if (tag.get("Trim") instanceof CompoundTag trim) {
StringTag material = trim.remove("material");
StringTag pattern = trim.remove("pattern");
// discard custom trim patterns/materials to prevent visual glitches on bedrock
if (!material.getValue().startsWith("minecraft:")
|| !pattern.getValue().startsWith("minecraft:")) {
tag.remove("Trim");
return;
}
// bedrock has an uppercase first letter key, and the value is not namespaced
trim.put(new StringTag("Material", stripNamespace(material.getValue())));
trim.put(new StringTag("Pattern", stripNamespace(pattern.getValue())));