Voici quelques commandes à essayer dans MCJE 1.16. Exécutez les commandes suivantes dans le chat :
-
Mettre en place un objectif de tableau de bord. (ou utilisez un objectif de test existant si, comme moi, vous détestez les empiler).
/scoreboard objectives add test dummy
-
Fixez votre propre score. Fixez-le à un chiffre dont vous vous souviendrez. Choisissez un chiffre bas, comme 5 par exemple.
/scoreboard players set @s test 5
-
Offrez-vous une épée de diamant avec des enchantements. Donnez-lui un niveau différent de celui que vous avez choisi à l'étape 2. Je choisis 9.
/give @s diamond_sword{Enchantments:[{id:"minecraft:sharpness",lvl:9s}]}
-
Essayez de régler le niveau d'enchantement de l'épée de diamant sur le nombre indiqué dans le tableau d'affichage. Voici la commande que j'ai utilisée :
/data modify entity @s Inventory[{id:"minecraft:diamond_sword"}].tag.Enchantments[{id:"minecraft:sharpness"}].lvl short 1 run scoreboard players get @s test
Ce que cette commande debe est d'obtenir votre test
et l'enregistrer dans le niveau d'affûtage de l'épée de diamant. Mais ce n'est pas le cas. Le niveau reste à 9.
Voici un autre exemple avec des commandes plus courtes. Effectuez les étapes 1 et 2 comme d'habitude, mais c'est ici que nous allons changer les choses :
-
Offrez-vous un morceau de terre (n'importe quel objet fera l'affaire).
/give @s dirt
-
Modifier le compter de cette pile de terre en la fixant à la valeur du tableau d'affichage.
/execute store result entity @s Inventory[{id:"minecraft:dirt"}].Count byte 1 run scoreboard players get @s test
Le nombre d'articles est-il modifié ? Pour moi, non.
J'ai testé cette méthode en utilisant une chaîne de commande. En jetant un coup d'œil dans le bloc de commande de la commande n°4, je peux voir que la valeur correcte du tableau d'affichage est renvoyée : ExpertCoder14 has 5 test
mais la valeur du tableau d'affichage n'est toujours pas mise à jour.
J'ai vérifié tous les champs et ils étaient tous corrects :
-
NBT path : J'ai utilisé
/data get
avec le même chemin NBT et a récupéré l'ancienne valeur. Cela signifie que j'utilise le bon chemin pour cibler la valeur à mettre à jour. -
Échelle : J'ai vérifié le Page Wiki Minecraft en
/execute store
. L'échelle est un nombre par lequel le résultat de la commande sera multiplié avant d'être stocké. Je l'ai fixée à1.0
. Cela devrait être correct.
J'ai également effectué quelques essais supplémentaires :
-
J'ai utilisé le
if
pour tester un certain nombre d'entités au lieu de/scoreboard players get
. Il s'agit d'un ordre :/execute store result entity @s Inventory[{id:"minecraft:dirt"}].Count byte 1 if entity @e
Exemple de sortie :
Test passed, count: 14
Mais la valeur du NBT ne change pas !
Est-ce que je fais quelque chose de mal ? Ce comportement est-il normal ? Ai-je manqué un rapport de bogue ? Que se passe-t-il ?