According to a user named quartz in the comment section of a related bug, the way to copy a block including its NBT data is slightly different on a Mac. It is done via CmdPick Block (default is Mousebutton 3), rather than CtrlPick Block.
You can verify that this worked by mousing over the item in your hotbar. It should say "+NBT data" in purple.
Player skulls will retain the texture they are loaded with, even if the player the skull received its texture from changes their skin.
Steps to reproduce:
- Apply the texture you want to your player skin (via minecraft.net).
Create the necessary player skull in-game. Using the SkullOwner
string tag will automatically populate the skull with texture data (specifically, the link to the stored texture on minecraft.net), turning into a SkullOwner
compound. Note that there is currently a bug where /give will not allow it to populate within the inventory, requiring you to either throw the item down and pick it back up or to exit and re-enter the world. It will still populate on the block entity when placed.
/give @p minecraft:skull 1 3 {SkullOwner:"Dinnerbone"}
Place the skull down and you will see your current skin.
Exit the world and change your skin to something else. Your old skin texture will still be saved on Mojang's servers for player skulls to use.
Re-enter the world and you'll see the skull still has your old texture and always will.
The data from the skull before populating:
SkullOwner:"Dinnerbone"
The result after populating:
SkullOwner:{
Id:"61699b2e-d327-4a01-9f1e-0ea8c3f06bc6",
Properties:{
textures:[
{
Signature:"dU+CIkqJYU3gj4NTwl6Jaf2Q195zdIwt6Qd9a0unAOQ1xf1FbrJ+QFHCcpQ1TtDT5nnn8SkQIiEELECs23wHsN4SCKwn4Hy4CsvumO3wf8F3GITS6alMQ1XT4/WGqTpiJlRpHq+2subt7vD5Pzmv5ajWo9vjER4XqRpP2OgTM5nnZdTnLPXgsYQesQ6ocymGgAwUZm6HQXfuyPsosL1UF/BLv6eaXh6dWRK653i73vv+Kho3h7L+Ewyh80tFY8ax9YgxP3fZ6mKiNvct5K6b0UZOy5incyRRXaDjEoFnZdNPc4Izy4bAydS9QSyiUgaEqbt1h1kqc381ZHiw6KTFEHYeOnFu0KUukIs86MvafV5SS7R5LJWLTfk2L96hpT73ndrQnugOOqDkF5XUq6U6b3hyj+00Ozl5CjLStwdhDjNmhdJcVZqAbmmiIDKS8Erv+eDVPHDeze/PRMgIPMj2bN0J7xdoIRWOdo0lSFk2iYdfhF+qZ+uk+Qw3F8r1uvV4y/x0X1sohHIf1AaRS5D9rA8DAB4/NyDDAnGwAWIf06oAXKErg4ZfWX4eHv1TKKMJBQWGBISD46VySvKX0QbRKV5icc/QqV9eOCXotvXEDJQJQV+oCYBkS/oHzCA1bvCAVsmmnMivyeVC4GpzR5eoBPghF2kYExPNiyh4HA1n9wc=",
Value:"eyJ0aW1lc3RhbXAiOjE0NDcxNzQ2NjUxNjEsInByb2ZpbGVJZCI6IjYxNjk5YjJlZDMyNzRhMDE5ZjFlMGVhOGMzZjA2YmM2IiwicHJvZmlsZU5hbWUiOiJEaW5uZXJib25lIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9jZDZiZTkxNWIyNjE2NDNmZDEzNjIxZWU0ZTk5YzllNTQxYTU1MWQ4MDI3MjY4N2EzYjU2MTgzYjk4MWZiOWEifSwiQ0FQRSI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzNmNjg4ZTBlNjk5YjNkOWZlNDQ4YjViYjUwYTNhMjg4ZjljNTg5NzYyYjNkYWU4MzA4ODQyMTIyZGNiODEifX19"
}
]
},
Name:"Dinnerbone"
}
The Value
is the important part. It's a base64 encoded JSON object that states details concerning the texture, which does include the link. The decoded data is:
{
"timestamp":1447174665161,
"profileId":"61699b2ed3274a019f1e0ea8c3f06bc6",
"profileName":"Dinnerbone",
"signatureRequired":true,
"textures":{
"SKIN":{
"url":"http://textures.minecraft.net/texture/cd6be915b261643fd13621ee4e99c9e541a551d80272687a3b56183b981fb9a"
},
"CAPE":{
"url":"http://textures.minecraft.net/texture/3f688e0e699b3d9fe448b5bb50a3a288f9c589762b3dae8308842122dcb81"
}
}
}
And you can see the link to the player skin is saved. That link will never change and will always point to the skin that it was created with, even when you change your skin.
Best Answer
Yes, you can use a single account to create as many custom heads as you like.
Each time you change your skin, your original skin file still exists and can be accessed. Whenever you create a custom skull, that skull will be pointing directly to the skin file that it was created with, and not just the player UUID. That means any skulls you create will retain their skins even if you change yours.
There is a slight issue where using
/give
does not cause theSkullOwner
string tag to immediately translate into a compound containing the extra data, so for all of the following commands, you will need to throw the item on the ground and pick it back up or exit the world and re-enter.For example, the following creates a skull:
With the following
SkullOwner
compound:The important part is the
Value
tag, which is a base64-encoded JSON object, decoded as:Now if I change my skin, the above data will stay the same (and the URL always points to the skin that the skull was created with). Using
/give
again will provide a new skull, where the data becomes:You may have to exit the game and re-enter for your skin to change.
To provide the skull with the skin data already applied, you would replace the
SkullOwner
string with the compound. In order to get the compound in the first place, you can use the original/give
command to provide the skull, throw the skull on the ground and run the following in a command block:No data changes, but the output textbox in the command block will contain the data you're looking for. You would then input that into
/give
like so:And that skull will always provide the proper skin, even if you change yours.
Alternatively, you can use this service to create the correct skull compound data from your current skin. Simply input your username, click "Craft Command", and you will be provided with the skull data of your current skin. You can then change your skin and repeat the process to continue receiving the most up-to-date skull data, while the old skulls are preserved.