La commande /give après les composants de données : ce qui a remplacé les tags NBT
La 1.20.5 a remplacé les NBT d'objet par des composants de données, et la plupart des extraits de /give en ligne sont encore écrits à l'ancienne. Voici la correspondance entre les tags que vous connaissez et les composants qui fonctionnent aujourd'hui.
Si vous collez une commande /give issue d'un ancien guide et que le jeu la rejette avec une erreur de syntaxe, c'est que la commande est écrite selon le format NBT antérieur à la 1.20.5. Les données d'objet sont passées aux composants de données (data components), et l'ancien bloc {display:{Name:...}} n'est plus analysé.
La forme a changé
old /give @p diamond_sword{display:{Name:'"Skybreaker"'},Enchantments:[{id:sharpness,lvl:5}]}
new /give @p diamond_sword[custom_name="Skybreaker",enchantments={sharpness:5}]
Des crochets, pas des accolades. Les composants forment une liste plate, séparée par des virgules, placée sur l'identifiant de l'objet.
Les correspondances que vous utiliserez vraiment
| Ancien NBT | Composant de données |
|---|---|
display:{Name:...} | custom_name |
display:{Lore:[...]} | lore |
Enchantments:[{id,lvl}] | enchantments={id:level} |
Unbreakable:1b | unbreakable={} |
CustomModelData:3 | custom_model_data={floats:[3]} |
AttributeModifiers:[...] | attribute_modifiers |
display:{color:...} | dyed_color |
SkullOwner | profile |
Trois pièges
- Les guillemets.
custom_nameattend un composant textuel écrit en SNBT, donc un simple nom s'écrit justecustom_name="Skybreaker". L'ancienne formecustom_name='"Skybreaker"'des guides de l'époque 1.20.5 nomme désormais l'objet avec les guillemets apparents. - Retirer une valeur par défaut. Préfixez avec
!pour supprimer un composant que l'objet possède normalement —[!attribute_modifiers]donne une épée sans aucun bonus de dégâts. - Bedrock n'a rien de tout ça. La commande
/givede Bedrock utilise encore son propre modèle de valeurs de données et de composants ; une chaîne de composants Java ne fonctionnera pas là-bas.
Le générateur de /give écrit la forme avec composants à votre place et affiche le résultat pour les deux éditions, afin que vous puissiez copier celle qui correspond au serveur sur lequel vous jouez.