MCTOOLBOX
MC ToolboxMC TOOLBOX
Migration de commande Java

Convertisseur NBT vers Composants Minecraft

Convertissez l'ancien NBT d'objet Java de la version 1.20.4 et antérieures en syntaxe de composants d'objet pour les versions 1.20.5, 1.21.x et les versions actuelles 26.x. Les commandes restent dans votre navigateur.

Entrée héritée

Ancien NBT d'objet ou commande /give

Charger l'exemple:

Sortie convertie

Commande /give actuelle

/give @p minecraft:diamond_sword[minecraft:custom_name={text:'Frost Blade',color:'aqua',italic:false},minecraft:lore=[{text:'Forged below Y -59',color:'gray'}],minecraft:damage=12,minecraft:repair_cost=3,minecraft:custom_model_data={floats:[27]},minecraft:unbreakable={},minecraft:enchantments={'minecraft:sharpness':5},minecraft:tooltip_display={hidden_components:['minecraft:unbreakable']}] 1

Composants convertis

8

Objet détecté

minecraft:diamond_sword

Composants convertis

  • display.Nameminecraft:custom_name
  • display.Loreminecraft:lore
  • Damageminecraft:damage
  • RepairCostminecraft:repair_cost
  • CustomModelDataminecraft:custom_model_data
  • Unbreakableminecraft:unbreakable
  • Enchantmentsminecraft:enchantments
  • HideFlagsminecraft:tooltip_display

Champs reconnus

Les noms, lore, enchantements, dégâts, coût de réparation, incassable, CustomModelData, données de potion, profils, attributs et prédicats de mode aventure sont mappés aux composants.

Sortie adaptée à la version

Minecraft 1.21.4 a modifié CustomModelData, tandis que 1.21.5 a simplifié plusieurs composants et introduit tooltip_display. Choisissez la version du serveur que vous utilisez réellement.

Repli sécurisé

Les balises inconnues sont conservées dans minecraft:custom_data et listées pour examen. Le convertisseur ne prétend pas que custom_data fait fonctionner des mécanismes de jeu obsolètes.

Pourquoi Minecraft a remplacé le NBT d'objet par des composants

Minecraft Java 1.20.5 a remplacé l'ancienne balise d'objet, majoritairement non structurée, par des composants de données typés. Dans les commandes, les composants apparaissent entre crochets après l'ID de l'objet, séparés par des virgules. Damage est devenu minecraft:damage, display.Name est devenu minecraft:custom_name, Enchantments est devenu minecraft:enchantments, et les champs personnalisés arbitraires ont été déplacés vers minecraft:custom_data.

Ce n'était pas un changement de syntaxe unique. Minecraft 1.21.4 a étendu custom_model_data en listes utilisées par le nouveau système de modèles d'objets. Minecraft 1.21.5 a déplacé la visibilité de l'infobulle dans minecraft:tooltip_display et a simplifié les enchantements, attributs, couleurs teintes et prédicats de mode aventure. Les commandes actuelles 26.x continuent à partir de ce nouveau format de composant.

Un convertisseur peut mapper les champs d'objet connus, mais il ne peut pas réparer automatiquement chaque bloc de commande ou data pack. Le NBT d'entité, les données d'entité de bloc, les fonctions de loot, les prédicats et les composants de texte ont également changé entre les versions. Testez toujours la commande générée dans une copie du monde cible ou sur un serveur de test.

Comment convertir une ancienne commande /give

  1. 1Collez une commande /give de Java Edition de la version 1.20.4 ou antérieure. Vous pouvez également coller uniquement le composé entre accolades.
  2. 2Choisissez la famille cible exacte. Utilisez 1.21.5 - 26.x pour les serveurs actuels, pas l'ancienne forme de composant 1.20.5.
  3. 3Lisez chaque avertissement. custom_data conservé est un stockage sûr, mais il n'active pas une balise obsolète Damage, Potion ou AttributeModifiers.
  4. 4Copiez la commande générée et testez-la dans un monde temporaire avant de remplacer des commandes dans un data pack ou un système de blocs de commandes.

Ce que ce convertisseur ne change pas

Il convertit une pile d'objets ou une commande /give à la fois. Il ne scanne pas un data pack entier, ne réécrit pas les vérifications execute if data, ni ne met à jour les prédicats d'objets stockés dans des fichiers JSON.

Il ne convertit pas le JSON d'objet Bedrock. Les composants d'objet Java et les composants d'add-on Bedrock sont des systèmes différents même si certains noms semblent similaires.

Les composants de texte des très anciennes versions peuvent encore nécessiter une modernisation manuelle. Les profils de joueur complexes, les effets de potion personnalisés et les charges utiles d'entité de bloc doivent être vérifiés par rapport à la version cible.

FAQ NBT vers composants

Pourquoi mon ancienne commande /give a-t-elle cessé de fonctionner en 1.20.5 ?

Java 1.20.5 a déplacé les données d'objet de l'ancienne structure {tag} vers des composants typés écrits entre crochets après l'ID de l'objet.

Puis-je mettre toutes les anciennes balises dans minecraft:custom_data ?

Vous pouvez y conserver des champs arbitraires, mais les mécanismes intégrés ne lisent plus les anciennes balises structurelles telles que Damage ou Enchantments de custom_data. Ils ont besoin de leurs vrais composants.

Quelle cible dois-je utiliser pour Minecraft 26.2 ou 26.3 ?

Utilisez Minecraft 1.21.5 - 26.x. Cette sortie utilise des formes d'enchantement et d'attribut simplifiées ainsi que tooltip_display du nouveau système de composants.

Le convertisseur prend-il en charge les commandes complètes ?

Oui. Il lit une cible /give héritée, un ID d'objet, un composé NBT et un compte, puis reconstruit une commande /give actuelle. Il accepte également un composé NBT autonome.

Pourquoi y a-t-il un avertissement pour BlockEntityTag ?

block_entity_data actuel doit identifier une entité de bloc valide. Certaines anciennes commandes s'appuyaient sur le type d'objet et omettaient l'ID, ce champ nécessite donc une révision manuelle.

La conversion est-elle effectuée sur un serveur ?

Non. L'analyse et la conversion s'exécutent localement dans votre navigateur. La commande n'est pas téléchargée par cet outil.