mojira.dev
MC-80120

You need to escape quotes inside quotes

How come it says Invalid son: Undetermined object at line 1 column 8 for this command:

/tellraw @p {text:"Good",color:green,bold:true,clickEvent:{action:run_command,value:"/tellraw @p {text:"GREAT! Goodbye!",color:purple,bold:true}"}}

I don't get it. Can you help?

Linked issues

Comments 2

Some things before I explain the bug:

  1. Do not post the command in the title, that is not helpful 😞 (just paste it in the description)

  2. I would suggest using *{code}* in front and behind the command, see https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all

  3. I would suggest using http://minecraftjson.com/ as this is a pretty useful and easy comprehensible tool

Now to your command, the correct command would be

/tellraw @p {text:"Good",color:green,bold:true,clickEvent:{action:run_command,value:"/tellraw @p {text:\"GREAT! Goodbye!\",color:purple,bold:true}"}

Reason

Minecraft (or rather the JSON parser) tries to analyze the JSON part of the command. If you start a value with quotation marks, the value has to end with them as well.

Example: *text:"Hello"* -> Key: *text*, value: *Hello* (In some cases you can leave out the quotation marks for example for numbers)

Let's now have a look at *value:"/tellraw @p {text:"GREAT! Goodbye!",color:purple,bold:true}"*
Tag: *value*, value: ⚠️ now the JSON parser looks for the next double quote to find the end of the value, which is */tellraw @p {text:*, so now it would either expect a curly bracket to end the value or a comma and the next tag with value.

To mark these quotations as "not relevant", you need to replace

1. \ with \\
2. " with \"

(That is called escaping).
(or every single quotation with an escaped single quotation mark if you are using them one "layer above")

Understanding error messages

*line 1 column 8 for this command* is a little bit tricky here because this relates to the tellraw command inside the main tellraw command. The column number is based on the JSON value only, so at the *{color:red}HERE{color}* it would expect a comma to start the new key:
*{text:"{color:red}HERE{color}GREAT! Goodbye!",color:purple,bold:true}*

I hope you could understand what I was trying to say 🙂

This isn't a bug. If you need help. try posting this on Reddit or the Minecraft forums.

Swalruska Salt

(Unassigned)

Unconfirmed

Minecraft 1.8.4

Retrieved