mirror of
https://github.com/GeyserMC/Geyser.git
synced 2025-01-08 19:33:58 +01:00
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:
parent
29bd896682
commit
1819ed4dbd
1 changed files with 8 additions and 0 deletions
|
@ -47,6 +47,14 @@ public class ArmorItem extends Item {
|
||||||
if (tag.get("Trim") instanceof CompoundTag trim) {
|
if (tag.get("Trim") instanceof CompoundTag trim) {
|
||||||
StringTag material = trim.remove("material");
|
StringTag material = trim.remove("material");
|
||||||
StringTag pattern = trim.remove("pattern");
|
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
|
// 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("Material", stripNamespace(material.getValue())));
|
||||||
trim.put(new StringTag("Pattern", stripNamespace(pattern.getValue())));
|
trim.put(new StringTag("Pattern", stripNamespace(pattern.getValue())));
|
||||||
|
|
Loading…
Reference in a new issue