Minecraft Wiki
(Zusammenfassung entfernt)
K (Änderung 615203 von 87.122.92.119 (Diskussion) rückgängig gemacht.)
Markierung: Rückgängigmachung
Zeile 1: Zeile 1:
&&stub|Eigenschaften und Beispiele für [[1.15]] nachtragen und für storage eigenen Abschnitt hinzufügen (Funktionsweise Beschreibung)&&
+
{{stub|Eigenschaften und Beispiele für [[1.15]] nachtragen und für storage eigenen Abschnitt hinzufügen (Funktionsweise Beschreibung)}}
&&Nutzbarkeit|j|j|2&&
+
{{Nutzbarkeit|j|j|2}}
 
'''/data''' verändert oder zeigt die Eigenschaften von [[Kreaturdaten|Kreaturen]] und [[Blockobjektdaten|Blöcken]] an.
 
'''/data''' verändert oder zeigt die Eigenschaften von [[Kreaturdaten|Kreaturen]] und [[Blockobjektdaten|Blöcken]] an.
   
Zeile 17: Zeile 17:
 
* ''Skalierung'' sagt aus, um welchen Faktor der NBT-Wert multipliziert werden soll.
 
* ''Skalierung'' sagt aus, um welchen Faktor der NBT-Wert multipliziert werden soll.
 
* ''Operation'' bestimmt die Art der Änderung:
 
* ''Operation'' bestimmt die Art der Änderung:
:&| class=wikitable
+
:{| class=wikitable
 
| <code>set</code> || Ersetzt den Wert.
 
| <code>set</code> || Ersetzt den Wert.
 
|-
 
|-
Zeile 27: Zeile 27:
 
|-
 
|-
 
| <code>insert <Index></code> || 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.
 
| <code>insert <Index></code> || 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]].
 
Zur Eingabe eines Befehls siehe [[Befehl#Eingabe]].
   
 
== Eigenschaften ==
 
== Eigenschaften ==
Spielerdaten können damit nur ausgelesen werden, nicht aber verändert werden. Im Gegensatz zu dem &&b|/setblock&& wird bei <code>/data block</code> 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 [[Blockobjekt]]en ändern. Da die [[Endertruhe]] stets den Inhalt für den Spieler zeigt, der sie öffnet, kann diese nicht abgeschlossen werden. Mit dem Befehl <code>/data get block x y z</code> bei einem Block mit NBT-Daten wird die komplette Datenstruktur des Blockes im [[JSON|JSON-Format]] ausgegeben.
+
Spielerdaten können damit nur ausgelesen werden, nicht aber verändert werden. Im Gegensatz zu dem {{b|/setblock}} wird bei <code>/data block</code> 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 [[Blockobjekt]]en ändern. Da die [[Endertruhe]] stets den Inhalt für den Spieler zeigt, der sie öffnet, kann diese nicht abgeschlossen werden. Mit dem Befehl <code>/data get block x y z</code> bei einem Block mit NBT-Daten wird die komplette Datenstruktur des Blockes im [[JSON|JSON-Format]] ausgegeben.
   
 
== Beispiele ==
 
== Beispiele ==
<code>/data merge entity @e[distance=..15,type=slime,limit=1] &Size:10&</code>
+
<code>/data merge entity @e[distance=..15,type=slime,limit=1] {Size:10}</code>
 
:vergrößert einen Schleim im Umkreis von 15 Blöcken auf die Größe 10.<br>
 
:vergrößert einen Schleim im Umkreis von 15 Blöcken auf die Größe 10.<br>
<code>/execute as @e[distance=..5,type=pig,nbt=!&NoAI:true&] run data merge entity @s &NoAI:true&</code>
+
<code>/execute as @e[distance=..5,type=pig,nbt=!{NoAI:true}] run data merge entity @s {NoAI:true}</code>
 
:deaktiviert die [[KI]] aller Schweine im Umkreis von 5 Blöcken, wenn sie eine [[KI]] besitzen.<br>
 
:deaktiviert die [[KI]] aller Schweine im Umkreis von 5 Blöcken, wenn sie eine [[KI]] besitzen.<br>
 
<code>/data get entity @e[type=armor_stand,limit=1]</code>
 
<code>/data get entity @e[type=armor_stand,limit=1]</code>
 
:Liefert eine Liste aller NBT-Daten, die man beim nächstgelegenen Rüstungsständer ändern kann.<br>
 
:Liefert eine Liste aller NBT-Daten, die man beim nächstgelegenen Rüstungsständer ändern kann.<br>
<code>/data merge block 45 72 -10 &Lock:"Eisenbarts Goldzahn"&</code>
+
<code>/data merge block 45 72 -10 {Lock:"Eisenbarts Goldzahn"}</code>
 
: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.<br>
 
: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.<br>
<code>/data merge block 45 72 -10 &Lock:""&</code>
+
<code>/data merge block 45 72 -10 {Lock:""}</code>
 
:entsperrt den Behälter an Position 45/72/-10.<br>
 
:entsperrt den Behälter an Position 45/72/-10.<br>
 
<code>/data remove entity @e[type=slime,distance=..15,limit=1] Size</code>
 
<code>/data remove entity @e[type=slime,distance=..15,limit=1] Size</code>
Zeile 48: Zeile 48:
 
<code>/data get entity @s DataVersion 100</code>
 
<code>/data get entity @s DataVersion 100</code>
 
:zeigt die aktuelle Versions-ID mit dem Faktor 100 multipliziert an.<br>
 
:zeigt die aktuelle Versions-ID mit dem Faktor 100 multipliziert an.<br>
<code>/execute as @a store result score @s Invent run data get entity @s Inventory[&id:"minecraft:carrot"&].Count</code>
+
<code>/execute as @a store result score @s Invent run data get entity @s Inventory[{id:"minecraft:carrot"}].Count</code>
 
: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.
 
: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.
<code>/execute as @a store result score @s Effekt run data get entity @s ActiveEffects[&Id:25&].Amplifier</code>
+
<code>/execute as @a store result score @s Effekt run data get entity @s ActiveEffects[{Id:25}].Amplifier</code>
 
:Mit diesem Befehl lässt sich die Stärke eines Effektes von Spielern auf einen Punktestand von einem Ziel übertragen.
 
:Mit diesem Befehl lässt sich die Stärke eines Effektes von Spielern auf einen Punktestand von einem Ziel übertragen.
<code>/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</code>
+
<code>/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</code>
 
:Mit diesem Befehl werden alle Dorfbewohner zu Nichtsnutzen, wenn ein Nichtsnutz vorhanden ist.
 
:Mit diesem Befehl werden alle Dorfbewohner zu Nichtsnutzen, wenn ein Nichtsnutz vorhanden ist.
<code>/data merge storage wiki:neue_etiketten &NeueEtiketten:["erstesEtikett","zweitesEtikett"]&<br>/data modify entity @e[limit=1,sort=nearest,type=!player] Tags append from storage wiki:neue_etiketten NeueEtiketten[]</code>
+
<code>/data merge storage wiki:neue_etiketten {NeueEtiketten:["erstesEtikett","zweitesEtikett"]}<br>/data modify entity @e[limit=1,sort=nearest,type=!player] Tags append from storage wiki:neue_etiketten NeueEtiketten[]</code>
 
: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.<br>
 
: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.<br>
 
<code>/execute store result storage beispiel:ruestung_farbe farbe int 1 run scoreboard players get farbe farbmischung</code><br>
 
<code>/execute store result storage beispiel:ruestung_farbe farbe int 1 run scoreboard players get farbe farbmischung</code><br>
 
<code>/execute as @e[tag=xyz] run data modify entity @s ArmorItems[2].tag.display.color set from storage beispiel:ruestung_farbe farbe</code>
 
<code>/execute as @e[tag=xyz] run data modify entity @s ArmorItems[2].tag.display.color set from storage beispiel:ruestung_farbe farbe</code>
 
: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.<br>Dies lässt sich nur über einen speziellen Trick mittels einer Shulkerkiste und /loot umgehen.
 
: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.<br>Dies lässt sich nur über einen speziellen Trick mittels einer Shulkerkiste und /loot umgehen.
&&Hinweis|text=Für viele Beispiele mit NBT-Daten siehe: [[Anleitungen/Befehle mit NBT]]&&
+
{{Hinweis|text=Für viele Beispiele mit NBT-Daten siehe: [[Anleitungen/Befehle mit NBT]]}}
   
 
== Geschichte ==
 
== Geschichte ==
&&Geschichtlich
+
{{Geschichtlich
|group1= &&ver|1.13&&
+
|group1= {{ver|1.13}}
 
|list1=
 
|list1=
&&Geschichtlich
+
{{Geschichtlich
 
|untergruppe=1
 
|untergruppe=1
|group1= &&ver|version|17w45b&&
+
|group1= {{ver|version|17w45b}}
|list1= *Der Befehl /data wird hinzugefügt und ersetzt den bisherigen &&b|/entitydata&& und den &&b|/blockdata&&.
+
|list1= *Der Befehl /data wird hinzugefügt und ersetzt den bisherigen {{b|/entitydata}} und den {{b|/blockdata}}.
|group2= &&ver|version|18w03a&&
+
|group2= {{ver|version|18w03a}}
|list2= *&&b|/execute store&& in Verbindung mit <code>/data get</code> mit Angabe eines NBT-Pfades funktioniert auch für nicht-numerische NBT-Daten.
+
|list2= *{{b|/execute store}} in Verbindung mit <code>/data get</code> mit Angabe eines NBT-Pfades funktioniert auch für nicht-numerische NBT-Daten.
  +
}}
&&
 
|group2= &&ver|1.14|18w43a&&
+
|group2= {{ver|1.14|18w43a}}
 
|list2= *Neuer Parameter <code>/data modify</code> hinzugefügt.
 
|list2= *Neuer Parameter <code>/data modify</code> hinzugefügt.
|group3= &&ver|1.15&&
+
|group3= {{ver|1.15}}
 
|list3=
 
|list3=
&&Geschichtlich
+
{{Geschichtlich
 
|untergruppe=1
 
|untergruppe=1
|group1= &&ver|version|19w38a&&
+
|group1= {{ver|version|19w38a}}
 
|list1= *Neuer Parameter <code>storage</code> hinzugefügt, ist ein Wertspeicher, der NBT-Daten speichern kann, ohne das ein [[Objekt]] oder [[Block]] notwendig ist.
 
|list1= *Neuer Parameter <code>storage</code> hinzugefügt, ist ein Wertspeicher, der NBT-Daten speichern kann, ohne das ein [[Objekt]] oder [[Block]] notwendig ist.
|group2= &&ver|version|19w39a&&
+
|group2= {{ver|version|19w39a}}
 
|list2= *Für den Wertspeicher gibt es eine [[JSON-Text]]-Komponente.
 
|list2= *Für den Wertspeicher gibt es eine [[JSON-Text]]-Komponente.
  +
}}
&&
 
  +
}}
&&
 
   
&&Navbox-Befehle&&
+
{{Navbox-Befehle}}
   
 
[[en:Commands/data]]
 
[[en:Commands/data]]

Version vom 14. Oktober 2021, 19:23 Uhr

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

/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, die kein Spieler sein darf und maximal ein Objekt umfassen darf.
  • 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 Verändert die Daten von Blöcken oder Objekten.
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

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

/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

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.
19w39a
  • Für den Wertspeicher gibt es eine JSON-Text-Komponente.