When shields have no pattern(s) applied, they use the damage value to determine color instead of the Base
field in BlockEntityTag
. This field is also used to track the durability of the shield, which has two effects:
Changing the durability of the shield (by taking damage or repairing it) changes the color
Crafting a new shield creates one that has lost 0 to 15 points of durability
A simple fix would be to always add the BlockEntityTag
when crafting a new shield and always set the damage value to 0, and for shields without BlockEntityTag
(e.g. obtained through /give
), to always display their color as black.
Linked issues
is duplicated by 35
relates to 1
Comments 16
Can confirm that it works with shields obtained by give command. If you give yourself a shield with a damage value, it takes the color of that value.
I've made yellow and white shields, and each has spontaneously turned into a "black shield" with a display color that changes every time it takes a hit (melee or projectile).
Fixed in w36a per https://www.reddit.com/r/Minecraft/comments/3jd4pv/minecraft_snapshot_15w36a/cuo7igf
Quick testing confirms fix.
Could not recreate. Could you provide screenshots?
EDIT: Can confirm with what Tom Udding said. You must /give @p shield for it to work