En gros, je veux faire un datapack qui modifie la balise maxUses de chaque villageois pour chaque commerce, pour qu'ils ne se bloquent jamais. Est-ce possible ?
Réponse
Trop de publicités?En 1.12.2 :
Ce n'est pas possible.
En 1.13.2 :
Il faut d'abord créer un tableau d'affichage et y mettre une valeur :
/scoreboard objectives add constants dummy
/scoreboard players set $1000000 constants 1000000
Le nom "$1000000" ne peut jamais être un nom de joueur, car il commence par un signe de dollar.
Vous pouvez maintenant copier cette valeur dans le NBT du villageois comme ceci :
/execute store result entity <selector> Offers.Recipes[0].maxUses int 1 run scoreboard players get $1000000 constants
/execute store result entity <selector> Offers.Recipes[1].maxUses int 1 run scoreboard players get $1000000 constants
/execute store result entity <selector> Offers.Recipes[2].maxUses int 1 run scoreboard players get $1000000 constants
...
Vous pouvez aller jusqu'à un numéro de transaction arbitrairement élevé, cela ne fera rien si la transaction n'existe pas.
En 1.14 :
/data modify entity <selector> Offers.Recipes[].maxUses set value 1000000
Le " []
La syntaxe " " est nouvelle dans la 1.14, elle applique l'opération à tous les éléments de la liste. /data modify
est également nouveau dans la 1.14, il permet un large éventail de choses, mais dans ce cas, il est juste utilisé pour éviter d'avoir besoin d'un tableau d'affichage.