mojira.dev
MC-164300

Giving player heads only applies texture in NBT on inventory update

/give @s player_head{SkullOwner:"FaRo1"}
/give @s player_head{SkullOwner:"FaRo1"}

Result: A player head with this NBT:

{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:"FaRo1"}}
{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:"FaRo1"}}

On the next inventory update (moving an item, taking one onto the cursor and putting it back, picking up an item, …, but NOT /give-ing an item), the NBT changes to:

{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:{Id:"46920312-c697-4a70-9e21-6d2db1122997",Properties:{textures:[{Value:"eyJ0aW1lc3RhbXAiOjE1NzE3NDc3MzQ0MzgsInByb2ZpbGVJZCI6IjQ2OTIwMzEyYzY5NzRhNzA5ZTIxNmQyZGIxMTIyOTk3IiwicHJvZmlsZU5hbWUiOiJGYVJvMSIsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9kZWE1Mzc0ZDlmOTY3ZmI3NzAwZDNiZjEwODVkM2VjMzNkOGQ5MGYwYzhlNDAwYzJlZmJlNTczM2QyNWMzZTZmIn19fQ=="}]},Name:"FaRo1"}}}
{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:{Id:"46920312-c697-4a70-9e21-6d2db1122997",Properties:{textures:[{Value:"eyJ0aW1lc3RhbXAiOjE1NzE3NDc3MzQ0MzgsInByb2ZpbGVJZCI6IjQ2OTIwMzEyYzY5NzRhNzA5ZTIxNmQyZGIxMTIyOTk3IiwicHJvZmlsZU5hbWUiOiJGYVJvMSIsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9kZWE1Mzc0ZDlmOTY3ZmI3NzAwZDNiZjEwODVkM2VjMzNkOGQ5MGYwYzhlNDAwYzJlZmJlNTczM2QyNWMzZTZmIn19fQ=="}]},Name:"FaRo1"}}}

This can have weird effects, for example giving another head with the same command creates a new stack whenever an inventory update occurred in the meantime. And commands expecting a "Properties", "textures" or "Value" tag to be present would fail at first. It's also inconsistent that the /give command does not cause the NBT change.

Linked issues

Comments 2

I was only able to reproduce this by moving the player head in creative mode.
Other inventory updates did not seem to have that effect.

FaRo1

(Unassigned)

Confirmed

Low

Commands

19w42a, 20w18a

Retrieved