Il vous manque définitivement des parenthèses.
<strong>Note : </strong>Bien que cette question ait déjà un <a href="https://gaming.stackexchange.com/a/207990/28182">réponse </a>avec le code fixe, je pense que ça vaut la peine de savoir <a href="https://i.stack.imgur.com/JSKEW.jpg" rel="nofollow noreferrer">comment le réparer soi-même </a>surtout pour les personnes qui rencontreront cette question plus tard. Je vais donc vous apprendre une technique pour trouver facilement ces parenthèses manquantes.
Contexte
Parlons des commandes de Minecraft, et pourquoi les parenthèses sont nécessaires :
Les commandes de Minecraft sont un langage de programmation très simple. Ce langage utilise des parenthèses pour l'aider à séparer et à interpréter les différentes zones du code. Il utilise des crochets (curly brackets) { }
pour marquer les éléments/objets, et les crochets [ ]
pour faire des listes de ces éléments/objets,
Chaque tranche ouverte, que ce soit carré [
o accolade {
doit être accompagnée d'une parenthèse fermante correspondante ( }
, ]
) dans le bon ordre, sinon Minecraft est confus quand il essaie de les interpréter. L'ordre est en marche arrière ou en miroir, de l'apparence du support correspondant.
Par exemple : [ [ { } ] ]
o { { [ { } ] } }
Le processus
Maintenant, pour mettre ces connaissances à l'épreuve : Comment trouver facilement les parenthèses manquantes, dans des lignes de commande de plusieurs centaines de caractères ?
Réponse ? Espacez le texte pour le rendre plus facile à lire. Nous ajoutons des espaces entre les mots, parce que c'est difficile d'interpréter ce que je dis, non ? Alors pourquoi ne pas faire de même avec votre code de commande ?
Commençons par le commencement, Télécharger et ouvrez Notepad++
- C'est gratuit y vraiment utile pour ce genre de choses. Croyez-moi, je l'utilise tous les jours, vous ne reviendrez jamais au Bloc-notes ordinaire de Windows, qui n'a pas les fonctionnalités dont nous avons besoin pour ce genre de choses :
- Notepad++ met en évidence la parenthèse sélectionnée et la parenthèse proche correspondante lorsque le curseur passe dessus
- Il permet également de tracer des lignes verticales en pointillé à partir des crochets pour aider à aligner le crochet de fermeture.
Maintenant, parlons du processus :
- Dans la fenêtre Notepad++, collez votre ligne de commande Minecraft et commencez à déplacer le curseur en utilisant les flèches du clavier, caractère par caractère.
- Chaque fois que vous atteignez une parenthèse ouvrante ou une virgule, appuyez sur Enter pour le déplacer (ainsi que le code restant) vers une nouvelle ligne.
- Déplacez un espace supplémentaire (après la parenthèse), et ajoutez une autre nouvelle ligne et un Tab pour faire passer le reste du commandement de Minecraft.
- Lorsque vous arrivez à des crochets fermants, déplacez-les également sur leur propre ligne, et utilisez Shift - Tab pour le remettre en ligne avec celui qui s'ouvre (en supprimant l'onglet supplémentaire).
- Au cours de cette opération, vous remarquerez que Notepad++ ajoute des lignes en pointillé qui relient les crochets ouvrants et fermants. Utilisez-les comme guide pour les aligner.
- Une fois que vous avez tout espacé, recherchez les incohérences dans les crochets de fermeture. Les crochets de fermeture doivent tous suivre une ligne droite en raison de l'espacement des tabulations, tout au long de la page.
- Notez et réparez tous les crochets manquants ou hors d'usage que vous voyez.
Un exemple
En utilisant le code cassé dans la question comme exemple, je vais vous montrer comment résoudre le problème de manière pratique. Voici donc la commande originale de Minecraft :
/setblock ~ ~ ~ chest 0 replace {Items:[{id:54,Count:1,Slot:13,tag:{display:{Name:"II"},Items:[{id:54,Count:1,Slot:13,tag:{display:{Name:"III"},Items:[{id:54,Count:1,Slot:13,tag:{display:{Name:"IV"},Items:[{id:54,Count:1,Slot:13,tag:{display:{Name:"V"},Items:[{id:339,Count:1,Slot:13,tag:{display:{Name:"An important message...",Lore:[ - - ·]}}}]}}}]}}}}],display:{Name:"I"}}}
Pour nous épargner quelques soucis, j'ai déjà effectué les étapes 2 à 4 (espacement et soulignement) pour vous, vous n'avez donc pas à vous en soucier outre mesure. Copiez simplement le code décomposé comme ceci, et collez-le dans Notepad++ :
/setblock ~ ~ ~ chest 0 replace
{
Items:
[
{
id:54,
Count:1,
Slot:13,
tag:
{
display:
{
Name:"II"
},
Items:
[
{
id:54,
Count:1,
Slot:13,
tag:
{
display:
{
Name:"III"
},
Items:
[
{
id:54,
Count:1,
Slot:13,
tag:
{
display:
{
Name:"IV"
},
Items:
[
{
id:54,
Count:1,
Slot:13,
tag:
{
display:
{
Name:"V"
},
Items:
[
{
id:339,
Count:1,
Slot:13,
tag:
{
display:
{
Name:"An important message...",
Lore:
[
- - ·
]
}
}
}
]
}
}
}
]
}
}
}
}
],
display:
{
Name:"I"
}
}
}
Suivez les lignes verticales en pointillés vers le bas et utilisez le surlignage des parenthèses pour essayer de faire correspondre et d'aligner les parenthèses. Une fois de plus, lorsque vous écrivez du code de cette manière, avec des espaces de tabulation et des sauts de ligne, les crochets de fermeture devraient tous s'aligner en une rangée bien nette. Cependant, vous aurez remarqué que certaines choses ne sont pas encore tout à fait alignées. Ce n'est pas grave ! Faites de votre mieux pour les aligner correctement, nous sommes sur le point de les corriger :
1. Le premier support carré est manquant :
Pour résoudre ce problème, insérez un crochet fermant après l'accolade sur la ligne ci-dessus (utilisez la touche Maj-Tab pour l'aligner avec le crochet ouvrant ci-dessus) :
Vous remarquerez qu'après avoir inséré cette ligne, Notepad++ reconnaît que le crochet inférieur n'est pas à sa place. Allez-y et alignez à nouveau toutes les parenthèses en utilisant des tabulations, et vous trouverez rapidement ce qui suit :
2. Support de boucle manquant :
Vous connaissez la chanson, insérez une parenthèse fermante pour régler ce problème :
Une fois encore, après avoir inséré la parenthèse manquante, Notepad++ reconnaît que certaines ne sont pas à leur place. Replacez les crochets restants jusqu'à ce qu'ils soient alignés avec la ligne en surbrillance.
3. Support carré manquant
Vous avez peut-être remarqué que l'élément ' display:
L'objet ', qui était chemin qui n'était pas à sa place, avant, commence à se remettre en ligne avec les autres :
Insérez un crochet ici, et vous devriez avoir l'air beaucoup plus à l'aise après avoir re-tabulé une fois de plus. Vous remarquerez également que vous avez maintenant un crochet fermant supplémentaire qui ne correspond à rien. Ce n'est pas grave, il suffit de le supprimer complètement.
Vous avez le coup de main maintenant. Continuez jusqu'à ce que tout soit aligné et ait un support correspondant.
Finalisation
C'est fait ! Vous pouvez même utiliser la fonction de remplacement intégrée de Notepad++ pour supprimer les espaces et les tabulations. Accédez-y en utilisant Ctrl + H . Utilisez le mode "étendu", et utilisez \n
pour supprimer les retours à la ligne, et \t
pour retirer les languettes :
Ça devrait être ça ! Vous pouvez maintenant copier votre commande et elle devrait fonctionner correctement.
* Eh bien, en termes de parenthèses, du moins. En supposant que vous l'ayez codé pour faire ce que vous voulez qu'il fasse !