Mirror von
https://github.com/GeyserMC/Geyser.git
synchronisiert 2024-12-27 08:30:12 +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
Dieser Commit ist enthalten in:
Ursprung
29bd896682
Commit
1819ed4dbd
@ -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())));
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren