Minecraft-France
  • Accueil
  • Forum
  • Actualités Minecraft
    • Minecraft Java
    • Minecraft Legends
    • Minecraft Dungeons
  • Guide
    • Guide Minecraft
      • Les créatures / mobs de Minecraft
      • Les potions / Alchimie
      • Enchantement
    • Télécharger Minecraft
    • Tutoriels
    • Astuces
  • Ressources
    • Mods
      • Par version
        • [Mod] 1.19
        • [Mod] 1.18
        • [Mod] 1.17
        • [Mod] 1.16
        • [Mod] 1.15
        • [Mod] 1.14
        • [Mod] 1.13
        • [Mod] 1.12
        • [Mod] 1.11
        • [Mod] 1.10
        • [Mod] 1.9
        • [Mod] 1.8
        • [Mod] 1.7
      • Par type
        • [Mod] Cheats
        • [Mod] Décoration
        • [Mod] Divers
        • [Mod] Equipements
        • [Mod] Gameplay
        • [Mod] Graphismes
        • [Mod] Mondes
        • [Mod] Véhicules
      • Par API
        • API Forge
        • API Fabric
    • Shaders
    • Resource Packs
      • Par résolution
        • [4 x 4]
        • [8 x 8]
        • [16 x 16]
        • [32 x 32]
        • [64 x 64]
        • [128 x 128]
        • [256 x 256]
        • [512 x 512]
      • Par version
        • Resource Pack 1.19
        • Resource Pack 1.18
        • Resource Pack 1.17
        • Resource Pack 1.16
        • Resource Pack 1.15
        • Resource Pack 1.14
        • Resource Pack 1.13
        • Resource Pack 1.12
        • Resource Pack 1.11
        • Resource Pack 1.10
        • Resource Pack 1.9
        • Resource Pack 1.8
        • Resource Pack 1.7
      • Par type
        • Add-On
        • Cartoon
        • Classique
        • Interface
        • Médiéval
        • Moderne
        • PVP
        • Réaliste
        • Thème
    • Maps
      • Maps Aventure
      • Maps Visites
      • Maps Mini-Jeux
      • Maps PVP
      • Maps Multijoueurs
      • Maps Solo
    • Skins
    • Datapacks
    • Outils
  • Minecraft: Bedrock Edition
    • Guides
    • Maps Bedrock
    • Mods & Addons
    • Resource Packs
  • Divers
    • Dossiers
    • Interviews
    • Les autres Minecraft
    • Minecraft’ Songs
    • Autres
    • Wallpapers
    • Vidéos
  • Partenaires
Facebook Twitter Instagram
Facebook Twitter Pinterest
Login
Minecraft-France
  • Accueil
  • Forum
  • Actualités Minecraft
    • Minecraft Java
    • Minecraft Legends
    • Minecraft Dungeons
  • Guide
    • Guide Minecraft
      • Les créatures / mobs de Minecraft
      • Les potions / Alchimie
      • Enchantement
    • Télécharger Minecraft
    • Tutoriels
    • Astuces
  • Ressources
    • Mods
      • Par version
        • [Mod] 1.19
        • [Mod] 1.18
        • [Mod] 1.17
        • [Mod] 1.16
        • [Mod] 1.15
        • [Mod] 1.14
        • [Mod] 1.13
        • [Mod] 1.12
        • [Mod] 1.11
        • [Mod] 1.10
        • [Mod] 1.9
        • [Mod] 1.8
        • [Mod] 1.7
      • Par type
        • [Mod] Cheats
        • [Mod] Décoration
        • [Mod] Divers
        • [Mod] Equipements
        • [Mod] Gameplay
        • [Mod] Graphismes
        • [Mod] Mondes
        • [Mod] Véhicules
      • Par API
        • API Forge
        • API Fabric
    • Shaders
    • Resource Packs
      • Par résolution
        • [4 x 4]
        • [8 x 8]
        • [16 x 16]
        • [32 x 32]
        • [64 x 64]
        • [128 x 128]
        • [256 x 256]
        • [512 x 512]
      • Par version
        • Resource Pack 1.19
        • Resource Pack 1.18
        • Resource Pack 1.17
        • Resource Pack 1.16
        • Resource Pack 1.15
        • Resource Pack 1.14
        • Resource Pack 1.13
        • Resource Pack 1.12
        • Resource Pack 1.11
        • Resource Pack 1.10
        • Resource Pack 1.9
        • Resource Pack 1.8
        • Resource Pack 1.7
      • Par type
        • Add-On
        • Cartoon
        • Classique
        • Interface
        • Médiéval
        • Moderne
        • PVP
        • Réaliste
        • Thème
    • Maps
      • Maps Aventure
      • Maps Visites
      • Maps Mini-Jeux
      • Maps PVP
      • Maps Multijoueurs
      • Maps Solo
    • Skins
    • Datapacks
    • Outils
  • Minecraft: Bedrock Edition
    • Guides
    • Maps Bedrock
    • Mods & Addons
    • Resource Packs
  • Divers
    • Dossiers
    • Interviews
    • Les autres Minecraft
    • Minecraft’ Songs
    • Autres
    • Wallpapers
    • Vidéos
  • Partenaires
Minecraft-France
Vous êtes ici : Accueil > Tutoriels > [Tutoriel] Guide MapMaking : Manipulation des NBT (partie 2)
Les blocs de commande Les commandes Tutoriels

[Tutoriel] Guide MapMaking : Manipulation des NBT (partie 2)

Par Gunivers7 novembre 2019Mis à jour le:7 novembre 2019Un commentaire6 Minutes de lecture

Cet article fait partie d’une série servant à enseigner l’art du développement sur Minecraft. Vous pourrez retrouver l’introduction et le sommaire en cliquant ici.

Lors de l’article sur le execute, nous avions annoncé avoir volontairement omis une partie de la commande, le execute store, nous allons donc en parler ici !
Comme vous vous en doutez sûrement, il y a un lien assez fort avec la commande /data, et c’est en partie là que la commande révèle son potentiel, car nous pouvons par le execute, passer la valeur chiffrée d’un tag NBT à un score et inversement !

Execute store

Observons tout d’abord la syntaxe:

Si vous vous souvenez de ce que l’on a vu dans les premiers chapitres, une commande peut retourner deux valeurs: une valeur résultat, et une valeur de succès. La commande execute store permet donc de récupérer l’une des deux valeurs de la commande exécutée, puis de stocker le résultat dans un support donc ici:

  • block
  • entity
  • storage
  • score

Il existe un cinquième support que l’on ne verra pas ici, la bossbar. Le fonctionnement reste globalement le même, mais en lien avec la commande /bossbar.

Les trois premiers vont donc enregistrer la valeur dans une structure NBT, et le dernier, dans un score.

Comme vous pouvez le constater, l’argument “<path>” est suivi d’un type, celui-ci permet de spécifier le type de stockage de la valeur dans un nœud de la structure. Si le nœud est de type int, alors vous devez mettre l’argument « int », tout simplement.

Je vous propose d’essayer cet exemple:

/execute store result score @s Test run data get entity @s

Et comme vous pourrez le constater, votre nombre de point de vie arrondis se retrouve dans un scoreboard ;)

Bien entendu, en spécifiant un scale à la commande data get, vous pouvez obtenir un nombre plus précis dans le scoreboard !

Voici un autre exemple:

/execute store result score @s Test run time query daytime

Dans votre scoreboard, vous obtiendrez ainsi le nombre de ticks écoulés depuis le début de la journée !

Maintenant, si vous définissez votre score à 42, et que vous faites cette commande en pointant un coffre juste en dessous de vous:

/execute store result block ~ ~-1 ~ Items[{Slot:0b}].Count float 1 run scoreboard players get @s Test

Le nombre d’item dans le coffre passera à 42 !

Comme vous pouvez le voir, la commande execute store est vraiment utile, mais nous n’avons appliquer cette commande que sur des nœuds dont la valeur est un nombre. Une question que l’on pourrait se poser dans ce cas est, qu’est-ce que cela fait si l’on tente de mettre une chaîne de caractères, ou encore un tableau dans un scoreboard ?

Reprenons notre coffre du dessus, et essayons cela de suite !

/execute store result score @s Test run data get block 164 4 -207 Items[0].id

18 ? Mais à quoi cela peut-il correspondre ? Et bah c’est très simple, lorsque l’on applique cela sur un String, on obtiendra le nombre de caractères composant ce dernier ! Et il y a bien 18 caractères dans “minecraft:redstone” ;)

Et il en est de même pour un tableau, ou pour un compound, ainsi faire cela:

/execute store result score @s Test run data get block 164 4 -207 Items

et

/execute store result score @s Test run data get block 164 4 -207 Items[0]

Vous retournera “1” pour la première commande car il n’y a qu’un seul slot occupé dans le coffre, et “3” pour la seconde, car il n’y a que 3 nœuds fils du premier élément du tableau (Count, id et Slot).

Voici quelques autres cas d’utilisation vraiment utile:

/execute store success score @s Test run data get block 164 4 -207 Items[0].Count

Retournera 0 si le nœud n’existe pas (vu que l’on vient de voir que tout type de nœud renverra quelque chose), 1 sinon.

/execute store success score @s Test run data get block 164 4 -207 Items[0]

Retournera 0 si le tableau ne contient pas d’élément 0, 1 sinon.

/execute store result score @s Test if entity @e[type=slime]

Retournera le nombre de slime présent sur la map (et dans des chunks chargés). Cet exemple est intéressant car il exploite le fait que le execute if retourne une valeur, qui se trouve être ici le nombre d’entités trouvés par le sélecteur.

NBT comme moyen de stockage

Vous êtes maintenant capable de entièrement modifier une entité, voire d’utiliser un score pour faire varier une propriété de cette dernière mais je vous propose que l’on aille encore plus loin. En effet, ceci est bien pratique pour faire des entités customs, mais une autre grosse utilité de ces commandes, c’est de pouvoir se servir de l’entité pour stocker nos propres données dans nos propres tag NBT ! Fini le stockage sur scoreboard, fini le fait de ne pouvoir stocker que des nombres, je vous propose maintenant de faire vos propres structures !

Peut-être avez-vous déjà, par erreur ou non, essayé d’ajouter ou modifier un tag non valide sur une entité ? Si oui, vous avez sans doute pu constater l’absence de ce tag lors de l’affichage des NBT. C’est normal, Minecraft supprime tous les nœuds qui n’existent pas sur l’entité. Néanmoins, il reste tout de même un endroit que Minecraft nous laisse à disposition, le nœud « tag » des items.

Dans ce nœud, où se trouvent notamment le tag “display” (contenant “Name” et “lore”), il est possible d’ajouter des nœuds sans que Minecraft les supprime, et c’est donc ici que nous allons travailler.

Alors un item peut paraître assez contraignant, il faut gérer le fait qu’il dispawn au bout de 5 minutes, sans oublier le fait qu’il soit visible. Mais comme nous l’avons vu lors de ces quelques parties sur les NBT, les entités sont entièrement représenté en jeu par les NBT, c’est aussi le cas pour un item, ce qui signifie que l’item se trouvant dans un slot aura la même structure qu’un item posé au sol ! On peut donc travailler avec des armor stands ayant des items dans leurs slots ou encore des coffres.

Je vous propose de créer une entité qui nous servira de stockage:

/summon ~ ~ ~ armor_stand {Tags:[“Foo”],NoGravity:1b,ArmorItems:[{id:”minecraft:slime_ball”,Count:1b,tag:{}},{},{},{}]}

Elle a donc une slime ball sur le slot correspondant à ses pieds, ayant un tag “tag” vide.
Maintenant, essayons d’ajouter un tag dans ce noeud:

/data modify entity @e[tag=Foo,limit=1] ArmorItems[0].tag.MonTag set value 1

Puis affichons le contenu de “tag”:

/data get entity @e[tag=Foo,limit=1] ArmorItems[0].tag

Comme vous pouvez le voir, le tag est bien resté !

De cette façon, nous pouvons avoir nos propres données persistantes, et même stocker des tableaux, ou encore des chaînes de caractères, ce qui est impossible avec les scoreboards !

Nous concluons ici notre dernier chapitre concernant les NBT, et vous voilà donc incollable sur le sujet ;)
J’espère que cette partie vous aura permis de comprendre la puissance que ces quelques commandes peuvent avoir !

Partager sur les réseaux sociaux Facebook Twitter Pinterest
Gunivers
  • Site Internet
  • Twitter

Gunivers est un réseau de créateurs basé sur Minecraft. Nous mettons en liens des projets communautaires et des créateurs en fournissant un soutien logistique aux projets qui en ont besoin. Vous pouvez nous rejoindre sur notre discord: https://discord.gg/NXj4MRB

Articles Similaires

[Resource Pack] Better Zombies [1.18 – 1.19]

30 mars 2023

Minecraft 1.20 : Snapshot 23w13a

29 mars 2023

[Mod] Tiny Items Animations [1.18.2 – 1.19.4]

29 mars 2023
Abonnez-vous
Se connecter
Prévenez moi :

1 Commentaire
Inline Feedbacks
Voir tous les commentaires
Guermas
11 novembre 2019 22 h 46 min

Superbe guide pour les NBT merci, hâte de voir la suite !

A propos de Minecraft

Retrouvez ci-dessous toutes les informations pour profiter pleinement de Minecraft :

Télécharger Minecraft
Wiki Minecraft
————————————–

Java

Minecraft Java :
Version 1.19.4

Bedrock

Minecraft Bedrock :
Version 1.19.72

Java

Snapshot Minecraft :
Version 23w13a

Launcher

Launcher Minecraft :
Version 2.4.4
Les liens indispensables
Optifine
Installez des mods avec l'API Forge
Installez des mods avec la dernière version de Minecraft grâce à avec l'API FAbric
Améliorer visuellement Minecraft avec des shaders
Apprenez en plus sur Minecraft grâce à nos guides
Discord de Minecraft-France
N'hésitez pas à rejoindre le Discord de Minecraft-France qui possède plus de 23.000 membres.
Discord Minecraft France
Partenaires
  • OMGServ
  • Serveur Minecraft
  • Skytale
  • Play-MC
  • Hébergeur d’image
Minecraft-France © 2011 - 2023, Tous droits réservés. Ce site n’est pas affilié à Mojang Studios ©
  • Contactez Minecraft-France
  • Équipe Minecraft-France
  • Politique de confidentialité

Ecrivez ci-dessus et appuyez sur la touche Entrer pour lancer la recherche. Appuyez sur la touche Echap pour annuler.

Sign In or Register

Bienvenue !

Connectez-vous ci-dessous ou S'enregistrer maintenant.

Mot de passe perdu ?

S'enregistrer maintenant

Déjà inscrit ? Connecter.

Un mot de passe vous sera envoyé par mail.