1. Si vous venez d'arriver sur le forum et que vous êtes un peu perdus, cliquez ici !
    Rejeter la notice

Résolu /tellraw avec hoverEvent, ne marche pas mais n'a pas de message d'erreur

Discussion dans 'Commands blocks & Redstone' créé par Kuuhaku, 14 Mar 2016.

  1. Kuuhaku

    Kuuhaku Nouveau

    Inscrit:
    14 Mar 2016
    Messages:
    2
    Points:
    0
    Sexe:
    Homme
    Bonjour, je suis en 1.9 et je teste des commandes /tellraw, et je n'arrive pas à montrer un item avec des tag.
    Voici mon texte :

    Code (cpp):
    /tellraw @p {"text":"I'm using this :","extra":[{"text":"[DA STICK]","color":"red","hoverEvent":{"action":"show_item","value":{"id":"280","tag":{"display":{"Name":"DASTICK","Lore":"You might not want to be hit by this."}}}"}}]}
    (note : oui j'ai été obligé de mettre des guillemets partout, même autour de "text", de "color" ou "red", sans quoi j'avais un message d'erreur à l'endroit où je n'avais mis aucun guillemet)
    Ici, j'obtiens le message Invalid json: Unterminated object at line 1 column 212.
    En comptant caractère par caractère, j'ai trouvé le caractère 212 qui est le tout dernier guillemet, c'est-à-dire le 5e caractère en partant de la fin.

    Or, en supprimant ce guillemet, j'obtiens donc :

    Code (cpp):
    /tellraw @p {"text":"I'm using this :","extra":[{"text":"[DA STICK]","color":"red","hoverEvent":{"action":"show_item","value":{"id":"280","tag":{"display":{"Name":"DASTICK","Lore":"You might not want to be hit by this."}}}}}]}
    Seulement, voilà... Déjà, ça ne marche pas, mais en plus le message d'erreur est inexistant : j'obtiens "Invalid json: "
    Pas très utile pour trouver l'erreur... J'ai vérifié à ce que la gamerule commandBlockOutput soit définie en true, et rien ne s'écrit dans la boite de dialogue.

    Quelqu'un pourrait m'aider ? Merci d'avance ><
     
  2. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 595
    Points:
    229
    Alors ici il y a multiples problèmes dans ta commande, allant d'erreurs de JSON à une mauvaise utilisation des tags.

    Tout d'abord le guillemet causant l'erreur doit être laissé, l'erreur vient justement du fait qu'il n'a pas d'autre guillemet qu'il pourrait refermer (une mauvaise quotation mais non répérée par le jeu vu qu'elle est incluse dans des ensembles), il faut que tu rajoutes un guillemet juste avant le { de la value.

    Deuxièmement tu confonds la "syntaxe" JSON et NBT. En effet depuis la 1.9 il faut mettre (fort malheureusement) des guillemets pour chaque ensemble text, color etc... mais on parle bien ici de JSON. Lorsque tu déclares l'id et les tags de ton item tu n'es plus dans du JSON donc ils ne sont plus utiles et font planter la commande. Il faut donc les retirer à id, tag, display, Name et Lore.

    Troisièmement, ton id est mauvais. Minecraft n'utilise plus depuis plusieurs versions les id numériques, il faut passer par les noms (ce qui me donne l'impression que tu utilises un générateur pour ta commande ?), pour toi ici ce serait "minecraft:stick".

    Quatrièmement tu veux créer "du texte dans du texte", vu que ton ensemble value qui est encadré par des guillemets contient lui-même des guillemets, pour qu'il associe les bons guillemets entre-eux tu dois utiliser ce qu'on appelle l'échappement : rajoute un \ chaque fois que tu passes dans un sous ensemble, tu dois donc mettre tes textes de Name et de Lore entre \".

    Enfin la syntaxe de Lore est incorrecte, elle est normalement ainsi : Lore:["Ligne 1","Ligne 2","Ligne 3"....]
    Il faut bien sur rajouter l'échappement à ces textes dans ta commande.

    Cela donne donc au final en corrigé :
    Code (cpp):
    /tellraw @p {"text":"I'm using this :","extra":[{"text":"[DA STICK]","color":"red","hoverEvent":{"action":"show_item","value":"{id:minecraft:stick,tag:{display:{Name:\"DASTICK\",Lore:[\"You might not want to be hit by this.\"]}}}"}}]}
     
    • J'approuve J'approuve x 1
  3. Kuuhaku

    Kuuhaku Nouveau

    Inscrit:
    14 Mar 2016
    Messages:
    2
    Points:
    0
    Sexe:
    Homme
    Wow, il y avait largement plus de problèmes que je ne le pensais... xD
    Et non je n'utilisais pas de générateur, c'est juste que je n'ai pas joué depuis longtemps (je me suis arrêté en 1.7), et depuis que je m'y suis remis j'utilisais des commandes sans id... ^^'
    En tout cas, merci beaucoup ! Vu que c'était super bien expliqué, je ferai plus ces erreurs x)

    EDIT : tag "Résolu" mis à côté du titre
     
    #3 Kuuhaku, 14 Mar 2016
    Dernière édition: 14 Mar 2016

Partager cette page