Guides / Commands & Data

/attribute : valeur de base vs modificateurs, et pourquoi la vôtre se réinitialise sans cesse

Définir une valeur de base est permanent, mais définir un modificateur ne l'est pas — à moins de choisir la mauvaise opération. Les trois opérations, l'ordre d'empilement et le piège de l'emplacement.

/attribute ressemble à une seule commande avec trois sous-commandes. Il s'agit en réalité de deux systèmes différents qui partagent le même nom, et c'est en les mélangeant que les valeurs reviennent sans cesse à leur état initial.

Base vs modificateur

/attribute @s minecraft:max_health base set 40
/attribute @s minecraft:max_health modifier add my_buff 20 add_value
  • base set réécrit la valeur propre de l'entité. Elle persiste après les rechargements et n'est supprimée par rien d'autre qu'un autre base set.
  • modifier add ajoute un ajustement temporaire par-dessus. Il possède un identifiant et peut être supprimé par cet identifiant.

Si votre modification disparaît après une reconnexion, vous avez utilisé un modificateur et quelque chose l'a effacé. Si votre modification ne disparaît pas, vous avez utilisé base set et avez besoin de base reset.

Les trois opérations et leur ordre d'application

OpérationActionApplication
add_valuevaleur + nen premier
add_multiplied_basevaleur + (base × n)en second
add_multiplied_totaltotal courant × (1 + n)en dernier

L'ordre est fixe et important. En partant d'une base de 20, puis add_value 10 et add_multiplied_total 0.5 :

20 → 30 → 45          not  20 → 30 → 30 + 10 = 40

add_multiplied_base multiplie toujours la base originale, et non le total courant — c'est pourquoi deux d'entre eux s'empilent de manière additive plutôt que de se composer.

Les identifiants de modificateurs sont désormais des identifiants avec espace de noms

Les anciennes versions utilisaient un UUID. Les versions modernes utilisent un identifiant avec espace de noms (namespaced id) :

/attribute @s minecraft:attack_damage modifier add my_pack:rage 5 add_value

Ajouter un second modificateur avec le même identifiant remplace le premier plutôt que de l'empiler. C'est la manière prévue de rafraîchir un buff — vous n'avez pas besoin de le supprimer d'abord.

Les modificateurs d'équipement résident sur l'objet, pas sur l'entité

Le bonus de dégâts d'une épée enchantée est un composant d'objet (item component) attribute_modifiers, et il ne s'applique que lorsque l'objet est dans le bon emplacement :

/give @s diamond_sword[attribute_modifiers=[{type:"attack_damage",amount:5,
  operation:"add_value",slot:"mainhand",id:"my:bonus"}]]

slot est obligatoire et constitue l'erreur habituelle. Omettez-le et le modificateur s'appliquera dans chaque emplacement, de sorte qu'une épée dans votre inventaire vous buffera pendant qu'elle y est.

Emplacements valides : mainhand, offhand, head, chest, legs, feet, armor, body, any.

Lire une valeur

/attribute @s minecraft:max_health get

renvoie la base, pas le total effectif. Pour obtenir le total incluant les modificateurs, utilisez execute store result sur un tableau de score et lisez-le.

Construisez n'importe laquelle de ces formes — y compris la forme de composant d'objet avec l'emplacement défini — dans le Générateur de commandes d'entité et de combat.

Commandes d'entité et de combat →

More guides

Browse all →

Vous cherchez d'autres outils Minecraft ?

Une collection de générateurs, visionneuses et convertisseurs qui tournent dans le navigateur — tous gratuits.