L'option "JSON" (ou J ava s cript O bjet N otation') est la partie de la commande Minecraft entourée de crochets. Les crochets représentent un tableau, et tous les objets principaux (parenthèses) font partie de ce tableau.
Si vous n'avez pas configuré votre tableau ou vos objets de la bonne manière, Minecraft sera incapable d'interpréter la signification de votre commande. Heureusement, il y a quelques outils que vous pouvez utiliser pour vous aider à déboguer cela.
La première chose à faire dans ces situations est de formater votre chaîne JSON pour la rendre plus facile à lire. JSONLint peut être utilisé à cette fin. Collez la partie de votre commande à partir du crochet, exécutez le validateur et copiez le JSON formaté.
Deuxièmement, vous voulez valider votre chaîne JSON. Vous pouvez également utiliser JSONLint pour valider les paramètres, mais je trouve que Formateur et validateur JSON est un peu plus facile à utiliser, car il conserve un historique des modifications, ce qui vous permet de revenir à une version particulière si nécessaire.
Voici la décomposition de votre chaîne JSON et les erreurs. Formateur et validateur JSON trouvé :
La première chose que je vois, c'est que, dans la valeur de votre ClickEvent, la partie "texte" est mise en surbrillance parce que les guillemets que vous utilisez ici ne sont pas interprétés comme vous le souhaitez. Dans ce cas, vous voulez qu'ils soient traités comme du "texte" à utiliser plus tard dans votre événement de clic, mais pour le moment, l'interpréteur JSON pense qu'ils sont la "fin" de la déclaration JSON.
Vous devez ajouter une barre oblique inverse pour échapper à vos guillemets doubles internes afin qu'ils soient traités comme du texte :
"value": "/tellraw @p{\"text\":\" Come back when you want to teleport \"}"
^ | ^ ^ ^ ^
external | these ones are 'escaped' because they
quote mark | are 'inside' the external quotes
On va le réparer et le refaire :
Maintenant, il ne reste plus qu'une erreur. Cela se produit parce que l'objet au-dessus de le crochet mis en évidence n'est pas correctement fermé par un crochet de fermeture correspondant :
L'interprète s'attend à ce que vous fermiez l'objet avant d'en commencer un nouveau :
[
"Would you like to teleport?", {
"text": "Yes",
"color": "green",
"bold": "true",
"clickEvent": {
"action": "run_command",
"value": "/tp @p ~ ~4 ~ "
},
"hoverEvent": {
"action": "show_text",
"value": {
"text": "Confirm"
}
}},
^ add this
En le réexécutant, il semble que l'erreur ait été corrigée pour cet objet, mais il y a maintenant une parenthèse supplémentaire en bas :
" On attend une virgule ou un ']'. "signifie qu'il s'attend à ce que vous ajoutiez un autre élément (avec une virgule) ou que vous terminiez le tableau (avec un crochet fermé). Le close-curly-bracket n'a aucun sens ici.
Enlevez la boucle supplémentaire, et tada !
Voici votre tableau JSON valide (vous pouvez le réduire à une seule ligne et rajouter vous-même les éléments de commande). Je ne garantis pas qu'il fera ce que vous voulez. veulent mais au moins elle est valable maintenant.
["Would you like to teleport?", {
"text": "Yes",
"color": "green",
"bold": "true",
"clickEvent": {
"action": "run_command",
"value": "/tp @p ~ ~4 ~ "
},
"hoverEvent": {
"action": "show_text",
"value": {
"text": "Confirm"
}
}
}, {
"text": "No",
"color": "red",
"bold": "true",
"clickEvent": {
"action": "run_command",
"value": "/tellraw @p{\"text\":\"Come back when you want to teleport\"}"
}
}]