Partager via


Modifier le format NBT en toute sécurité

Cet article vous présente l’édition NBT, c’est-à-dire l’utilisation d’outils pour modifier les chaînes de données stockées dans les entités, les éléments et certains blocs, et vous explique comment éviter de les modifier d’une manière qui ne sera pas reproduisible à l’avenir.

Dans ce tutoriel, vous apprendrez les éléments suivants:

  • Qu’est-ce que les données NBT et comment sont-elles utilisées?
  • Pourquoi les données NBT peuvent-elles avoir besoin d’être modifiées?
  • Meilleures pratiques pour l’édition des données NBT.

Conditions requises

Nous vous recommandons de consulter les étapes suivantes avant de commencer ce tutoriel.

Depuis des années, il est courant pour les créateurs de cartes Minecraft d’utiliser des outils externes pour modifier les données NBT stockées dans les entités, les objets et certains blocs qui stockent des informations comme les noms, les valeurs de dommages ou l’âge. Le NBT est essentiellement une liste de balises et de valeurs correspondantes. Par exemple, un piglin zombifié contient, parmi tant d’autres, une balise ID ayant une valeur zombie_pigman . L’utilisation d’outils comme MCEdit ou MCCToolChest pour éditer NBT peut avoir des résultats importants et faire gagner beaucoup de temps aux créateurs. Par exemple, vous pouvez utiliser un outil pour modifier le nom d’une créature en changeant simplement la valeur de sa balise CustomName plutôt que d’avoir à utiliser une balise de nom et une enclume dans le jeu.

Cependant, il existe des cas où l’édition NBT a entraîné des problèmes lorsque Minecraft se met à jour d’une manière qui modifie la façon dont une balise particulière est écrite ou lue par le jeu. La plupart des fonctionnalités dans Minecraft sont conçues pour être jouées, et non modifiées avec des outils externes. Ces outils simulent le jeu. Vous pouvez modifier le contenu d’un coffre dans le jeu, et un outil comme MCCToolChest écrit des données dans le NBT comme si vous l’aviez réellement fait dans le jeu. Cependant, des problèmes surviennent souvent lorsque les créateurs de cartes utilisent des outils pour éditer le NBT d’une manière qui ne peut théoriquement pas être accomplie dans le jeu.

Important

La règle d’or est la suivante: si vous changez les choses d’une manière que le jeu n’aurait jamais pu écrire lui-même, vous courez un risque. Si le jeu ne peut pas faire la différence entre une valeur NBT enregistrée par le jeu lui-même et une valeur modifiée à la main, vous n’aurez généralement aucun problème.

Modifier le NBT d’un livre écrit pour en changer le texte n’est pas un problème, mais modifier le NBT pour dépasser la limite de caractères d’un livre en est un. Définir un chat CatType sur 5 en fait un calicot. Le définir sur la valeur 5000 est probablement une mauvaise idée.

Les développeurs de Minecraft ne peuvent s’attendre à ce que leur code soit modifié de la manière dont ils l’ont programmé. Vous pouvez trouver que l’édition d’une balise NBT d’une certaine manière vous permet de faire quelque chose de cool, mais il n’y a aucune garantie que la façon dont cette balise est traitée ne sera pas modifiée à l’avenir, car elle n’était pas destinée à être modifiée de cette façon en premier lieu.

Par exemple, les créateurs de cartes avaient l’habitude de faire des échanges de villageois personnalisés en modifiant plusieurs des balises NBT d’un villageois. L’un de ces changements consistait souvent à définir la balise TradeTier sur un nombre négatif afin que le villageois ne débloque jamais de nouveaux métiers comme dans le mode Survie de Minecraft. Puisque les développeurs de Minecraft n’ont jamais voulu que les métiers fonctionnent de cette façon, ils ont fondamentalement changé la façon dont la balise TradeTier fonctionne dans la mise à jour «Village et pillage», supprimant ainsi de nombreux villageois personnalisés dans les cartes. Aujourd’hui, les métiers personnalisés sont généralement gérés à l’aide de fonctions de la table de butin, une fonctionnalité développée spécifiquement dans ce but.

Il existe des exceptions à cette règle, qui sont généralement dues à des années d’édition de NBT par les créateurs d’une certaine manière et pour lesquelles les développeurs de Minecraft ont dû créer leur propre support. Par exemple, il n’existe aucun moyen d’écrire la balise lore d’un objet dans le jeu, mais il est généralement considéré comme sûr de le faire dans un éditeur.

Ces conseils ne s’appliquent pas uniquement à l’édition de NBT: les comportements, les commandes, les scripts et les autres fonctionnalités du jeu peuvent tous produire des résultats intéressants si vous les utilisez d’une manière qui n’était pas prévue. Minecraft est un jeu vivant et ses fonctionnalités sont constamment modifiées. Bien que ses développeurs mettent clairement tout en œuvre pour ne pas endommager votre contenu, on peut s’attendre à ce qu’ils ne connaissent que les fonctionnalités qu’ils ont intentionnellement programmées. Lorsque les créateurs utilisent ces «astuces» inattendues et que le contenu s’interrompt à cause de cela, il incombe au créateur, à ses joueurs et aux développeurs Microsoft d’essayer de trouver des moyens de le contourner. En cas de doute, testez toujours votre contenu sur les nouvelles mises à jour pour vérifier les changements de contenu.