This happened when I put this command in a command block and placed the given sign:
/give @p sign 1 0 {BlockEntityTag:{Text1:" ",Text2:"{text:\"Players Remaining\",bold:\"true\",underlined:\"true\",color:dark_blue}",Text3:"{score:{name:\"Players:\",objective:\"Remain\"},bold:\"true\",color:yellow}",Text4:" "},display:{Name:"Custom Sign"}}
And the blockdata one is here:
/blockdata ~ ~ ~ {Text1:" ",Text2:"{text:\"Players Remaining\",bold:\"true\",underlined:\"true\",color:dark_blue}",Text3:"{score:{name:\"Players:\",objective:\"Remain\"},bold:\"true\",color:yellow}",Text4:" "}
The game immediately crashes and gives everyone on the server the error attached as a screenshot below.
Linked issues
duplicates 1
is duplicated by 1
Attachments
Comments 7
That is strange because I used the same code for the signs on an 1.8 server. Has the syntax changed in 1.9 or is there something I'm doing wrong? And I agree, it shouldn't but it does, and we won't be able to join back until I restart the server.
The syntax is the same, except the JSON must be valid JSON now, which mostly means that you must put quotes around the keys.
Relates to:
It is actually caused by MC-87143.
Replacing the Strings for Text1
and Text4
with a proper JSON string fixes this. However since JSON parsing is strict now the keys need to be surrounded by quotes.
Replaced Text1 and Text4 (no kick)
/give @p sign 1 0 {BlockEntityTag:{Text1:"{\"text\":\" \"}",Text2:"{text:\"Players Remaining\",bold:\"true\",underlined:\"true\",color:dark_blue}",Text3:"{score:{name:\"Players:\",objective:\"Remain\"},bold:\"true\",color:yellow}",Text4:"{\"text\":\" \"}"},display:{Name:"Custom Sign"}}
Strict JSON (correct sign text)
/give @p sign 1 0 {BlockEntityTag:{Text1:"{\"text\":\" \"}",Text2:"{\"text\":\"Players Remaining\",\"bold\":true,\"underlined\":true,\"color\":\"dark_blue\"}",Text3:"{\"score\":{\"name\":\"Players:\",\"objective\":\"Remain\"},\"bold\":true,\"color\":\"yellow\"}",Text4:"{\"text\":\" \"}"},display:{Name:"Custom Sign"}}
Confirmed. It is because your JSON is invalid, but that shouldn't kick all the clients.