When you're making signs with colored text, you have can only do it with the /setblock
command. Also, remember that you cannot use the Selection Symbol (§) in chat. So, this is how you create a sign with color.
(Or you can look up the wiki)
Place a command block ABOVE where you want your sign to go.
Use /setblock ~ ~-1 ~ standing_sign [Rotation] replace {Text1:"{Text:"[Text String]",color:[Color]}",Text2:"{Text:"[Text String]",color:[Color]}",Text3:"{Text:"[Text String]",color:[Color]}",Text4:"{Text:"[Text String]",color:[Color]}"}
Of course, it won't fit in your hotbar. So, put it on a command block directly above where you would like to place the block and then activate it.
Replace [Rotation] with a number between 0 and 15. 0 faces South, 4 faces West, 8 faces North and 12 faces East. 16 (the same as 0) will face South.
Replace [Text String] with the json string that you want the sign to contain... Or plain text. As long as everything fits on the sign, it will not be chopped off.
Replace [Color] with a color; "Red", "Blue", "Yellow", "Green", "Gold", "Gray" are some examples. (As long as it's a color that Minecraft chat supports).
The problems with your command are:
- In versions 1.9 and above,
Equipment
should be ArmorItems
- The head slot is the 4th ArmorItems slot, rather than the 5th
The fixed command should be:
/summon Zombie ~ ~ ~ {ArmorItems:[{},{},{},{id:minecraft:stone_button}]}
Best Answer
To add colors on signs you need to use the JSON format. The correct way to make colored text in Minecraft with JSON is this:
Where "foo" is the actual displayed text, and "blue" can be any of the 16 official color names, with an underscore instead of a space.
However you cannot just type this directly into the sign (it would be too long, for one thing). You need to use the /blockdata command. The command to edit a sign's text is this:
Where Text1-4 are the different lines, foo is the displayed text, and X Y Z are the sign's coordinates.
To put the JSON into this command we will need to use a backslash to "escape" all of the quotation marks in the JSON string, so that it can all be read as one string and it doesn't mess up the NBT data format, like this:
And finally, the command to add a blue foo to line two is this: