Minecraft – How to replace a helmet slot with a player skull

minecraft-commandsminecraft-java-edition

So I'm trying to swap the helmet slot of an armor stand from one player head to another in Minecraft 1.14.4. One head is obtained from minecraft-heads.com, and the other is a real player's head.

When I run this command:

replaceitem entity @e[name=Intro] armor.head minecraft:player_head{display:{Name:"{\"text\":\"Closed\"}"},SkullOwner:{Id:"2fd224ce-af3d-42f9-abbe-707e29cecc45",Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzk1ZWFhYzIxODQ4NzU1ZTEwZDAyNTllMDNmYTVhMmI5Y2NjNTUwOWQzMDJjNmQxODllYmZiMDM5MjVjNTc2In19fQ=="}]}}}

The correct skull is replaced on to the armor stand. However, whenever I run this command:

replaceitem entity @e[name=Intro] armor.head minecraft:player_head{display:{Name:"{\"text\":\"Open\"}"},SkullOwner:{Id:"Skraby_"}}

The skull that gets placed on the armor stand is just a regular steve head. This is my current username, and I can obtain the correct skull when using /give, so my question is, why doesn't this work? I can't find any other ways this would be run. Everywhere I look says that this should be working fine.

Best Answer

The Id tag is for the UUID of the player:

Id: UUID of owner. Optional. Used to update the other tags when the chunk loads or the holder logs in, in case the owner's name has changed.
from the wiki

What you want is Name:

Name: Username of owner. If missing or empty, the head appears as a Steve head. Otherwise, used to store or retrieve the downloaded skin in the cache. Need not be a valid player name, but must not be all spaces.
also from the wiki

So the command would be:

replaceitem entity @e[name=Intro] armor.head minecraft:player_head{display:{Name:"{\"text\":\"Open\"}"},SkullOwner:{Name:"Skraby_"}}