Befehl/data

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche
Diese Seite ist unvollständig.
Du kannst helfen, indem Du sie ergänzt. Fehlende Inhalte: Eigenschaften und Beispiele für 1.15 nachtragen und für storage eigenen Abschnitt hinzufügen (Funktionsweise Beschreibung)
Nutzbarkeit
 Einzelspieler ja
 Mehrspieler ja
 Cheat ja, 2
 Befehlsblock ja

/data verändert oder zeigt die Eigenschaften von Kreaturen und Blöcken an.

Syntax[Bearbeiten]

/data remove entity|block|storage <Objekt|x y z|Wertspeicher> <Pfad>
/data merge entity|block|storage <Objekt|x y z|Wertspeicher> <NBT-Daten>
/data get entity|block|storage <Objekt|x y z|Wertspeicher> [<Pfad>] [<Skalierung>]
/data modify entity|block|storage <Objekt|x y z|Wertspeicher> <Pfad> <Operation> from entity|block <Objekt|x y z> <Pfad>
/data modify entity|block|storage <Objekt|x y z|Wertspeicher> <Pfad> <Operation> value <NBT-Daten>

  • Objekt ist eine Zielauswahl mit @e.
  • x y z sind die Koordinaten des Blockes. Für absolute Koordinaten kann man die Koordinaten-Schnelleingabe nutzen. Wird ein "~" vor eine Koordinate geschrieben, ist der Koordinatenwert nicht absolut, sondern relativ zur Position der Befehlsquelle (Spieler oder Befehlsblock), wobei deren Standort ~0 ~0 ~0 mit ~ ~ ~ abgekürzt werden kann. Für die Höhe y sind nur Werte zwischen 0 und 255 möglich.
  • Wertspeicher ist ein Name des Speichers für NBT-Daten. Er ist unabhängig von der Dimension in der man sich befindet immer zugreifbar.
  • NBT-Daten sind die Eigenschaften des Objektes, Blockes oder Wertspeichers, die geändert werden sollen. Eine ausführliche Beschreibung steht hier.
  • Pfad gibt die NBT-Eigenschaft an. Siehe Abschnitt Beispiele für die genaue Pfad Angabe
  • Skalierung sagt aus, um welchen Faktor der NBT-Wert multipliziert werden soll.
  • Operation bestimmt die Art der Änderung:
set Ersetzt den Wert.
merge Nur für Objekte: Erweitert das Objekt.
prepend Nur für Listen: Fügt die Daten vor allen anderen Einträgen der Liste hinzu, alte Einträge werden nach hinten verschoben.
append Nur für Listen: Fügt die Daten nach allen anderen Einträgen der Liste hinzu, alte Einträge bleiben unverändert.
insert <Index> Nur für Listen: Fügt die Daten an dieser Position der Liste hinzu, alte Einträge bis zu dieser Position bleiben unverändert, alte Einträge ab dieser Position werden nach hinten verschoben.

Zur Eingabe eines Befehls siehe Befehl#Eingabe.

Eigenschaften[Bearbeiten]

Spielerdaten können damit nur ausgelesen werden, nicht aber verändert werden. Im Gegensatz zu dem Befehl /setblock wird bei /data block der Block nicht neu erzeugt. Daher eignet sich /data für das Abschließen oder Entsperren von gefüllten Behältern (z.B. einer Truhe). Er kann alle Eigenschaften von Blockobjekten ändern. Da die Endertruhe stets den Inhalt für den Spieler zeigt, der sie öffnet, kann diese nicht abgeschlossen werden. Mit dem Befehl /data get block x y z bei einem Block mit NBT-Daten wird die komplette Datenstruktur des Blockes im JSON-Format ausgegeben.

Beispiele[Bearbeiten]

/data merge entity @e[distance=..15,type=slime,limit=1] {Size:10}

vergrößert einen Schleim im Umkreis von 15 Blöcken auf die Größe 10.

/execute as @e[distance=..5,type=pig,nbt=!{NoAI:true}] run data merge entity @s {NoAI:true}

deaktiviert die KI aller Schweine im Umkreis von 5 Blöcken, wenn sie eine KI besitzen.

/data get entity @e[type=armor_stand,limit=1]

Liefert eine Liste aller NBT-Daten, die man beim nächstgelegenen Rüstungsständer ändern kann.

/data merge block 45 72 -10 {Lock:"Eisenbarts Goldzahn"}

verschließt den Container an Position 45/72/-10, der danach nur noch geöffnet werden kann, wenn der Spieler einen Gegenstand in der Hand hält, der den Namen "Eisenbarts Goldzahn" trägt.

/data merge block 45 72 -10 {Lock:""}

entsperrt den Behälter an Position 45/72/-10.

/data remove entity @e[type=slime,distance=..15,limit=1] Size

entfernt die Größeneigenschaft des nächstgelegenen Schleims, somit wird er auf die kleinste Größe schrumpfen.

/data get entity @s DataVersion 100

zeigt die aktuelle Versions-ID mit dem Faktor 100 multipliziert an.

/execute as @a store result score @s Invent run data get entity @s Inventory[{id:"minecraft:carrot"}].Count

Mit diesem Befehl lässt sich die Anzahl eines Gegenstandes im Inventar von Spielern auf einen Punktestand von einem Ziel übertragen. Der Punktestand kann dann weiter verarbeitet werden, um z.B Bedingungen zu prüfen.

/execute as @a store result score @s Effekt run data get entity @s ActiveEffects[{Id:25}].Amplifier

Mit diesem Befehl lässt sich die Stärke eines Effektes von Spielern auf einen Punktestand von einem Ziel übertragen.

/execute as @e[type=villager] run data modify entity @s VillagerData.profession set from entity @e[type=villager,limit=1,nbt={VillagerData:{profession:"minecraft:nitwit"}}] VillagerData.profession

Mit diesem Befehl werden alle Dorfbewohner zu Nichtsnutzen, wenn ein Nichtsnutz vorhanden ist.

/data merge storage wiki:neue_etiketten {NeueEtiketten:["erstesEtikett", "zweitesEtikett"]}
/data modify entity @e[limit=1,sort=nearest,type=!player] Tags append from storage wiki:neue_etiketten NeueEtiketten[]

Zuerst wird ein Wertspeicher "wiki:neue_etiketten" erstellt, der zwei Etiketten/Tags beinhaltet. Danach werden einem Nicht-Spieler-Objekt/Entity durch den Parameter "append" gleich mehrere Etiketten auf einmal hinzugefügt, ohne die eigenen Etiketten zu überschreiben.

/execute store result storage beispiel:ruestung_farbe farbe int 1 run scoreboard players get farbe farbmischung
/execute as @e[tag=xyz] run data modify entity @s ArmorItems[2].tag.display.color set from storage beispiel:ruestung_farbe farbe

Mit diesen zwei Befehlen lässt sich die Farbe einer Lederrüstung ändern, jedoch funktioniert dies nur bei Kreaturen und nicht am Spieler, da Spielerdaten im allgemeinen nicht über /data geändert werden können.
Dies lässt sich nur über einen speziellen Trick mittels einer Shulkerkiste und /loot umgehen.
Für viele Beispiele mit NBT-Daten siehe: Anleitungen/Befehle mit NBT

Geschichte[Bearbeiten]

Versionsgeschichte der Java Edition
Vollversion 1.13
17w45b
18w03a
  • Befehl /execute store in Verbindung mit /data get mit Angabe eines NBT-Pfades funktioniert auch für nicht-numerische NBT-Daten.
Vollversion 1.14 (18w43a)
  • Neuer Parameter /data modify hinzugefügt
Vollversion 1.15 (19w38a)
  • Neuer Parameter storage hinzugefügt, ist ein Wertspeicher, der NBT-Daten speichern kann, ohne das ein Objekt oder Block notwendig ist.