mojira.dev
MC-51003

Custom player skulls show as the default skin's head on mobs or players

When I summon a zombie wearing player skull with SkullOwner tag, this zombie spawns with Steve's head. Even when I summon a zombie with CanPickUpLoot tag seted to true and I throw that skull on him, he pick the skull up, but it's always Steve's had.
Hope you understood my bad english, I'm from Czech Republic

Commands:

/summon Zombie ~ ~ ~ {Equipment:[{},{},{},{},{id:skull,Damage:3,tag:{SkullOwner:Dadae_Lump}}]}
/summon Zombie ~ ~ ~ {CanPickUpLoot:true}
/give @p skull 1 3 {SkullOwner:Dadae_Lump}

Linked issues

MC-51046 Player heads won't load on mobs Resolved MC-51344 Wearing a Player's head will always show Steve Resolved MC-51406 When a Zombie wears a custom player head, it shows up as a Steve. Resolved MC-51495 Summoned mobs do not come with custom player heads Resolved MC-51607 Custom heads when worn are steve heads Resolved

Attachments

Comments 42

that's because you need the new format for the head:
SkullOwner:{Id:UUID of owner,Name:Username of owner,Properties:{textures:[{Signature:,Value:}]}}
howerver it's a really long command then, for example this will give my skull:
give @p minecraft:skull 1 3 {SkullOwner:{Name:"FVbico",Id:"79bf99e1-621c-4e91-bd81-a77a08b386ba",Properties:{textures:[{Value:"eyJ0aW1lc3RhbXAiOjEzOTcyNDcwMzY5NjgsInByb2ZpbGVJZCI6Ijc5YmY5OWUxNjIxYzRlOTFiZDgxYTc3YTA4YjM4NmJhIiwicHJvZmlsZU5hbWUiOiJGVmJpY28iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMwNWM0MjRlMmQyODU4ZGRmNjhhN2ZhY2VmOGM1NWI3OGM2M2JiMjQ2MWI2MmM2M2I3ZDc4ZGE1YTcxMzRhIn19fQ==",Signature:"WF3Cpzm9VVgZGRcmpo56J9qO4u2+LPNPt1AEEn310VddjK+V9wztDJWrPGCYCCW849JUq/aLbOLb9p85AdldrgX5Fko6VXVheJxgSMPrVTy80cnMza1QmWa9Q1+9lGMt4D/mR5Ad5JRh6WgLxpW0uMedRAuG0WjhV7qZIv2VgsyI2HG0klfIyOEX3/Y/q+c94e4xqE/ylyweClmACePrGL4KTqzOCiJwmMKAbVhG5Bpm/fxQS3Nj+UbQsky1Wyk3FnypY5SsTgXc1jB1hloLfiHo7OXVA8IqcRTYhB7oAC6l/34XQaejvjq8BvLJ4evFcfe8omjYJ6e1mFJ23VX2DauiaX0Vsqv7ija2556LeDMGsyTO1BGFDP5NNArKp/tOK2AJ+aLrq+PvFAUpK6WCBFdAmhfKsSPtQh2bIZyTjUam/Yoz8fMYuLkpCyUv4v5E3v/1PUONRtmPWFzF8go14hY2Ft/iTR79BFmJePRD5pWG9t/oJcVnsXn+K5kZRG9OWqG7iP1qAV/5QMONP5RHhVkX76ib1lcX/oKfUMwGk1ShfU5GvE8+nG+sVo7kIREFMyNmXVl7lu3FFOlysu6PlRT5KUFkoAQrovCPtlSGOSuScabr+cJYjBBTeOUXCs1xxgn/W81+BBbrd2YqRCpRjwbgaQiLCDnF2ic3dRJjYcM=",},1:{Value:"eyJ0aW1lc3RhbXAiOjEzOTcyNDcwMzcwOTQsInByb2ZpbGVJZCI6Ijc5YmY5OWUxNjIxYzRlOTFiZDgxYTc3YTA4YjM4NmJhIiwicHJvZmlsZU5hbWUiOiJGVmJpY28iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMwNWM0MjRlMmQyODU4ZGRmNjhhN2ZhY2VmOGM1NWI3OGM2M2JiMjQ2MWI2MmM2M2I3ZDc4ZGE1YTcxMzRhIn19fQ==",Signature:"VbBEppx+HTufMrhlvLW6xRIBVZoRRrf9EvCN/ATNmTYBf0NKKoklE4E5IvrvQnpSfvb6bygrp6WhKBqYLakympYj4Hls8dDVtSD6BpjEm2Oz4pEIPSNhNMSc/rQVPZ88T228cdg/Qg/OtRtv4SYQNE1TqRVmJXge5wI9rylAYQwZ1NDtQ1vqqi85ThQt+E6DPCCIrK7kMS/H4BAkTpRpI4JVGGN3usGTMPVcKBNn+FCmX1faSMhIQmxuYuN4D2QkiBG47AHlIh2m/ZfKbC83rnxWPoaCKRTRMZu38nOxDN7xVYIN73KIVdddb9d/2ZfnZ55GKNOixttp15l44YdUXFz+o/HFRmGHWHCNpCbawK5eHeOYrsK+sg/Kex95iWrXrcumC18RXcKxRso0XV6FN8DNySpL3BVQYPisZPuW0ZUBbOTKlwdpIOupjL5SccfD0m4O8f3gwRXOZiDFN6kPhGOgeOUPWpkVdKlIWvQcG3LkqZ+GwDPyqujFw6IodcWycOblMa55z7ctkN5WvmoQkG0uLH77ywyVTJU+aL5gcax8L7ztnWZUN7v4iKlf1PsDSbshTwe5lnJYrUcr1mB1p5V/dCEHtjLFgwMxcQFH798pvAeQHquCPPeQ3YSf2pJQGSEimdZbjBn+iHnfx40GCYwRg2Ird9+Hfl7AW+qd46A="}]}}}

then it will work on mobs as well

If this is the new format, this a very stupid change by mojang. How are we going to know every UUID of any player?

it's actually simple to get it:
place a skull with the old format, break it in survival and it's converted

if you want to know the enthire code, then place it in an chest and place a commandblock above it with: /blockdata ~ ~-1 ~ {Lock:""} then in the last output of the commandblock is the entire data
this is also done to support for name changeing i geuss

I still think this isn't working. The old format does actually work sometimes. But I tried to summon a mob using the UUID method.

summon Skeleton ~ ~1 ~ {CustomName:Herobrine,Equipment:[{},{},{},{},{id:skull,Count:1,Damage:3,tag:{SkullOwner:{Id:"9586e5ab-157a-4658-ad80-b07552a9ca63"}}}]}

Didn't work.

It's just the same Steve head

32 more comments

It is even worse now. When you place a head spawned with the old format, it lags trying to contact the authentication server for 30 seconds and then it just displays as a Steve head permanently. It does still say "<players>'s Head" though.

not for me, it freezes for 3 seconds and then shows the correct skin for me

This does work for me (maybe it didn't in older versions of Minecraft, I don't know for sure)

/summon Zombie ~ ~ ~ {Equipment:[{},{},{},{},{id:"minecraft:skull",Damage:3s,tag:{SkullOwner:"Notch"}}]}

But it does convert it.

And I know what's the meaning of the Value tag.
I tried decoding it using the Java Base64 class:

byte[] bytes = Base64.decode("eyJ0aW1lc3RhbXAiOjE0MTYxNTI2MDM2NzAsInByb2ZpbGVJZCI6IjA2OWE3OWY0NDRlOTQ3MjZhNWJlZmNhOTBlMzhhYWY1IiwicHJvZmlsZU5hbWUiOiJOb3RjaCIsImlzUHVibGljIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTExNmU2OWE4NDVlMjI3ZjdjYTFmZGRlOGMzNTdjOGM4MjFlYmQ0YmE2MTkzODJlYTRhMWY4N2Q0YWU5NCJ9LCJDQVBFIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2Y2ODhlMGU2OTliM2Q5ZmU0NDhiNWJiNTBhM2EyODhmOWM1ODk3NjJiM2RhZTgzMDg4NDIxMjJkY2I4MSJ9fX0=");
for (byte b : bytes) System.out.print((char)(b>=0?b :b+256));

The output was:

{"timestamp":1416152603670,"profileId":"069a79f444e94726a5befca90e38aaf5","profileName":"Notch","isPublic":true,"textures":{"SKIN":{"url":"http://textures.minecraft.net/texture/a116e69a845e227f7ca1fdde8c357c8c821ebd4ba619382ea4a1f87d4ae94"},"CAPE":{"url":"http://textures.minecraft.net/texture/3f688e0e699b3d9fe448b5bb50a3a288f9c589762b3dae8308842122dcb81"}}}

Note that the isPublic and CAPE tag can be absent. You also don't need to specify all tags.
Copy and paste the URLs in your browser, and you'll see Notch's skin and cape.

You can also encode it:

String string = "{\"textures\":{\"SKIN\":{\"url\":\"http://s3.amazonaws.com/static.planetminecraft.com/files/resource_media/skin/1115/nyan-cat_25245_skin.png\"}}}";
byte[] bytes = new byte[string.length()];
for (int i=0; i<string.length(); i++) bytes[i] = (byte)string.charAt(i);
System.out.println(Base64.encode(bytes));

Output:

eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL3N0YXRpYy5wbGFuZXRtaW5lY3JhZnQuY29tL2ZpbGVzL3Jlc291cmNlX21lZGlhL3NraW4vMTExNS9ueWFuLWNhdF8yNTI0NV9za2luLnBuZyJ9fX0=

Using the output:

/summon Zombie ~ ~ ~ {Equipment:[{},{},{},{},{id:"minecraft:skull",tag:{SkullOwner:{Name:"0",Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL3N0YXRpYy5wbGFuZXRtaW5lY3JhZnQuY29tL2ZpbGVzL3Jlc291cmNlX21lZGlhL3NraW4vMTExNS9ueWFuLWNhdF8yNTI0NV9za2luLnBuZyJ9fX0="}]}}},Damage:3s}]}

This will spawn a zombie with a nyancat head.

Make sure you fill in the name and a Damage (data)value of 3. Don't use the same name for another skin.
Filling in an Id like '0' and no Name will cause an error in the console and causes objects to fly upside down around the zombie/skeleton (however, the're only displayed flying), and a red screen when hitting the zombie/skeleton. Killing the zombie/skeleton and hitting a mob will make everyting normal again. Try it in a new world!

I don't know what the Signature tag does mean.

PS:

/summon Zombie ~ ~ ~ {Equipment:[{},{},{},{},{id:"minecraft:skull",tag:{SkullOwner:"Name:\"Notch\""},Damage:3s}]}

will spawn a zombie with Alex' head. I don't know why.

I hope this can be helpful!

Please stop editing your comment over and over again, as a mail will be sent to everybody who watches this every time you edit it, also this is a bug tracker not a forum

I had a player head revert on Snapshot 16w43a, one was my wife's and the other was my own on a server reboot. My wife's reverted, mine stayed the same. It could be because my laptop REALLY is NOT up to the task of being a server and I'm doing it anyway, and a "slow skin lookup failure" may be to blame. I'm not clear how all of this is supposed to work. It might be the problem is with my system not being up to the task, but if anyone is still following this bug it would be useful to verify this bug CAN NOT be reproduced. I hope.

I'm going to reset her player skull and throw a few others around and keep an eye on it, report here if I have more reverts and I'll report more the conditions and if it only "one or two" in a set or it's the entire set.

EDIT: Further testing... /give @p skull 1 3 {SkullOwner:"MommaMae"}

While my wife is not logged in, the command gives the skull right away as a Steve Head with MommaMae's name.

After she logged in, giving myself yet another MommaMae head corrected ALL instances of her player head. I'll try other player heads from the list of custom heads, but I'll wait to further edit this or send further replies until someone finds something unusual in testing. Again, given how my computer is complaining about missed ticks, there may be nothing wrong here. I just want to be sure we have our custom player heads in MC 1.11. 🙂

Vojtěch Štěpančík

michael

Confirmed

custom, head, skin, skull, steve, worn

Minecraft 14w11a, Minecraft 14w11b, Minecraft 14w18b, Minecraft 14w21b

Minecraft 14w25a

Retrieved