Minecraft – How to make custom player heads without making multiple accounts

minecraft-commandsminecraft-java-edition

I would like to get some nice, original player heads to use as as meme references. I don't want to make multiple accounts to get the player heads. Is it only one head texture per account? Or is there another way?

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 the SkullOwner 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:

/give @p minecraft:skull 1 3 {SkullOwner:"Skylinerw"}

With the following SkullOwner compound:

Name:"Skylinerw",Id:"b9aa57fe-649e-4d48-806e-63af2faff5c6",Properties:{textures:[{Value:"eyJ0aW1lc3RhbXAiOjE0NzU1OTk4ODA0NjQsInByb2ZpbGVJZCI6ImI5YWE1N2ZlNjQ5ZTRkNDg4MDZlNjNhZjJmYWZmNWM2IiwicHJvZmlsZU5hbWUiOiJTa3lsaW5lcnciLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTc0MzhiZDE1NjI2MTk1N2NhOTQ0Mzg5ZGQ3OWYwZjAyY2E5NDU4M2YwZjQyMGMxZmY5YTllMmM1OTRhMTQifX19"}]}

The important part is the Value tag, which is a base64-encoded JSON object, decoded as:

{
    "timestamp":1475599880464,
    "profileId":"b9aa57fe649e4d48806e63af2faff5c6",
    "profileName":"Skylinerw",
    "textures":{
        "SKIN":{
            "url":"http://textures.minecraft.net/texture/97438bd156261957ca944389dd79f0f02ca94583f0f420c1ff9a9e2c594a14"
        }
    }
}

Original texture

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:

{
    "timestamp":1475600096501,
    "profileId":"b9aa57fe649e4d48806e63af2faff5c6",
    "profileName":"Skylinerw",
    "textures":{
        "SKIN":{
            "url":"http://textures.minecraft.net/texture/094d147674d227d7c8859df4fa029ffb41f2636a8966d7c504f16dca81e"
        }
    }
}

Modified texture

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:

/entitydata @e[type=Item,c=1] {}

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:

/give @p minecraft:skull 1 3 {SkullOwner:{Name:"Skylinerw",Id:"b9aa57fe-649e-4d48-806e-63af2faff5c6",Properties:{textures:[{Value:"eyJ0aW1lc3RhbXAiOjE0NzU1OTk4ODA0NjQsInByb2ZpbGVJZCI6ImI5YWE1N2ZlNjQ5ZTRkNDg4MDZlNjNhZjJmYWZmNWM2IiwicHJvZmlsZU5hbWUiOiJTa3lsaW5lcnciLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTc0MzhiZDE1NjI2MTk1N2NhOTQ0Mzg5ZGQ3OWYwZjAyY2E5NDU4M2YwZjQyMGMxZmY5YTllMmM1OTRhMTQifX19"}]}}}

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.