4 votes

Comment puis-je spécifier un nombre supérieur ou égal à un nombre donné dans une commande ?

Je voulais savoir si un joueur (dans Minecraft v. 1.16.5) avait assez d'objets pour exécuter une action, j'ai donc écrit la commande suivante :

/execute at @a[nbt={Inventory:[{id: "minecraft:gold_ingot",Count:3b}]}] run say hello

Cela fonctionne mais seulement lorsque le joueur a 3 gold et pas plus. Pour y remédier j'ai essayé :

/execute at @a[nbt={Inventory:[{id: "minecraft:gold_ingot",Count:3..10b}]}] run say hello" 10 for example

Mais cela ne fonctionne pas. Comment puis-je y parvenir ?

5voto

Richie Frame Points 1800

Le format NBT ne permet de tester que la "correspondance" ou la "non-concordance". correspondance". Il n'y a pas de concept de comparaisons numériques, de sorte que vous ne pouvez pas faire de comparaisons plus grand que/moins grand que avec le NBT uniquement.

Si vous souhaitez tester une série de nombres, ceux-ci devront d'abord être transférés du système NBT au système de tableau de bord, qui fait ont des comparaisons numériques :

execute if score <scoreholder> <objective> matches <range> run …

En fonction de votre cas d'utilisation, vous pouvez simplifier davantage cette commande en plaçant la condition de score dans un sélecteur :

execute as @a[scores={<objective>=<range>}]

De manière générale, la transformation des NBT en scores s'effectue à l'aide de /execute store result score … run data get … Toutefois, les opérations NBT sont coûteuses en termes de performances et doivent être évitées dans la mesure du possible.

Pour votre cas particulier, vous pouvez utiliser /clear avec un compte de 0 pour obtenir le nombre d'éléments, et l'enregistrer dans un score, comme suit :

execute store result score <scoreholder> <objective> run clear @s … 0

2voto

Aceplante Points 804

Malheureusement, la fonction plus grand que/égal à etc. ne peut être utilisée que pour vérifier les scores et ne fonctionne pas avec NBT. Si vous souhaitez vérifier toutes les valeurs potentielles de la taille de la pile, de 3 à 10 par exemple, cela nécessitera probablement 7 commandes.

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