1 votes

Le remplacement des blocs par /setblock ne fonctionne pas

J'utilise la version 1.8.9.

J'ai donc utilisé cette commande :

/setblock ~ ~6 ~ air 0 replace end_portal

Et cela a fonctionné parfaitement, mais lorsque j'ai échangé les deux blocs avec cette commande,

/setblock ~ ~6 ~ end_portal 0 replace air

Il n'a pas fonctionné et a affiché l'erreur :

Data tag parsing failed invalid tag encountered expected '{' as first char.

Quelqu'un sait-il quelle en est la cause ?

4voto

AjaxGb Points 1237

setblock ne peut pas replace blocs spécifiques de ce type ; seulement fill can. Mise en place replace dans un setblock indique simplement à la commande de ne laisser tomber aucun élément du bloc remplacé. Votre première commande semble fonctionner, mais elle ignore en fait la commande end_portal complètement. Il peut mettre à l'air n'importe quel bloc : de la terre, de la pierre, n'importe quoi.

La syntaxe correcte pour le setblock est
/setblock <x> <y> <z> <block> [dataValue|state] [oldBlockHandling] [dataTag]

Donc, votre commande initiale,
/setblock ~ ~6 ~ air 0 replace end_portal devrait raisonnablement échouer pour deux raisons :

  1. En air ne prend pas en charge NBT
  2. end_portal données NBT non valides

Ce qui se passe en fait, c'est que Minecraft dit : "Bon, air ne supporte pas NBT, donc je vais ignorer cette partie qui devrait être NBT". Votre commande est donc équivalente à
/setblock ~ ~6 ~ air 0 replace

Mais avec votre deuxième commande, Minecraft dit "The end_portal bloc hace supportent NBT, donc analysons ceci -hey ! Ce n'est pas un NBT valide !" et lance une erreur.


Si vous utilisez des blocs de commande, vous pouvez tester le bloc aérien de manière explicite, puis définir le portail de fin uniquement si le test a réussi :

   /testforblock <x> <y> <z> air
C: /setblock <x> <y> <z> end_portal

C: indique un bloc de commande conditionnel.

1voto

Aceplante Points 804

Ou utilisez simplement /fill ~ ~-6 ~ ~-6 ~ remplir uniquement ce bloc

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X