There are superfluous curly braces ({}
) around the erroneous string. Remove those. Also, you specify the Zombie's CustomName
and CustomNameVisible
twice.
When facing data tag syntax problems, it is often helpful to explode the view in a suitable text editor that supports syntax highlighting, such as Notepad++.
Riding:
{
id:Zombie,
Attributes:[
{
Name:generic.maxHealth,
Base:200
},{
Name:generic.movementSpeed,
Base:0.2
},{
Name:generic.attackDamage,
Base:10
}],
{
CustomName:Boss,
CustomNameVisible:1,
Attributes:[{},{},{}],
Equipment:[{},{},{},{},{id:skull,Damage:3,tag:{SkullOwner:MHF_Blaze}}],
CustomName:Grinch,
CustomNameVisible:1
}
}
You can easily see that after closing Attributes
, you start a compound tag (open curly braces), but there's no tag to assign this value. Remove these braces, and CustomName: ...
is correctly the same level as id
and Attributes
.
No, there is no shorter command. But that doesn't matter, because you can just copy-paste the list from my other answer here. The list also works in 1.12, because the newer blocks will just be ignored. You just need to adjust the first part of the command.
Best Answer
CanPlace
is not a data tag that exists, nor is it a boolean. You are probably looking for theCanPlaceOn
tag, which does exist, but is still not a boolean.Here's a helpful wiki page on data tags: http://minecraft.gamepedia.com/Player.dat_format
CanPlaceOn
is a list of strings, each string containing the name of a block that it can be placed on. For example, to get a quartz block that can be placed on stone and dirt: