MC Toolkit

Anleitungen / Befehle & Daten

/attribute: Basiswert versus Modifikatoren – und warum deiner immer wieder zurückgesetzt wird

Einen Basiswert zu setzen ist dauerhaft, einen Modifikator zu setzen nicht – es sei denn, du wählst die falsche Operation. Die drei Operationen, die Stapelreihenfolge und die Slot-Falle.

/attribute sieht aus wie ein Befehl mit drei Unterbefehlen. Tatsächlich sind es zwei verschiedene Systeme, die sich zufällig einen Namen teilen – und wenn man sie verwechselt, springen die Werte immer wieder zurück.

Basis versus Modifikator

/attribute @s minecraft:max_health base set 40
/attribute @s minecraft:max_health modifier add my_buff 20 add_value
  • base set überschreibt den eigenen Wert der Entität. Er bleibt über Reloads hinweg erhalten und wird nur durch ein weiteres base set entfernt.
  • modifier add legt eine benannte Anpassung obendrauf. Sie wird genau wie die Basis mit der Entität gespeichert, hat eine id und kann über diese id entfernt werden.

Wenn deine Änderung nicht verschwinden will, hast du entweder base set verwendet und brauchst base reset, oder du hast einen Modifikator hinzugefügt, der modifier remove <id> benötigt.

Die drei Operationen und die Reihenfolge, in der sie angewendet werden

OperationBewirktAngewendet
add_valueWert + nzuerst
add_multiplied_baseWert + (Basis × n)danach
add_multiplied_totallaufende Summe × (1 + n)zuletzt

Die Reihenfolge ist fest und sie ist wichtig. Ausgehend von Basis 20, dann add_value 10 und add_multiplied_total 0.5:

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

add_multiplied_base multipliziert die Basis nachdem die add_value-Modifikatoren addiert wurden – nicht die laufende Summe – weshalb zwei davon additiv statt kumulativ stapeln.

Modifikator-ids haben jetzt einen Namespace

Ältere Versionen verwendeten eine UUID. Moderne Versionen verwenden eine namespaced id:

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

Einen zweiten Modifikator mit derselben id hinzuzufügen schlägt fehl mit „Modifier … is already present", statt ihn zu stapeln oder zu ersetzen. Um einen Buff aufzufrischen, musst du ihn zuerst mit modifier remove entfernen.

Ausrüstungs-Modifikatoren sitzen am Item, nicht an der Entität

Der Schadensbonus eines Schwerts ist eine attribute_modifiers Item-Komponente, und er gilt nur, solange das Item im richtigen Slot ist:

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

slot wegzulassen ist der übliche Fehler. Es ist standardmäßig any, also gilt der Modifikator in jedem Ausrüstungsslot – ein Schwert bufft dich aus der Nebenhand oder aus einem Rüstungsslot, nicht nur aus der Haupthand.

Gültige Slots: mainhand, offhand, hand, head, chest, legs, feet, armor, body, saddle, any.

Einen Wert zurücklesen

/attribute @s minecraft:max_health get

gibt den effektiven Gesamtwert zurück, Modifikatoren inklusive. /attribute @s minecraft:max_health base get gibt nur die Basis zurück.

Baue jede dieser Varianten – einschließlich der Item-Komponenten-Form mit gesetztem Slot – im Entity & Combat Command Builder.

Befehle für Entities und Kampf →

Weitere Anleitungen

Alle ansehen →