Minecraft Wiki
Advertisement
Nutzbarkeit
 Einzelspieler ja
 Mehrspieler ja
 Cheat ja, 2
 Befehlsblock ja

/execute führt mit einer beliebig langen Reihe an Bedingungen einen Befehl aus oder prüft, ob ein Block oder Objekt, nach der angegeben Bedingung, anwesend oder abwesend ist, ohne weitere Befehle. Der Befehl kann an der angegeben Block-Position oder vom angegebenen Objekt ausgeführt werden.

Syntax

/execute Unterbefehl

align Achsen Unterbefehl
  • führt einen Unterbefehl mit achsenzentrierten Koordinaten aus. Diese Achsen werden mit xyz angegeben, dabei dürfen bis zu zwei Achsen auch weggelassen werden
anchored Körperbereich Unterbefehl
  • Körperbereich entspricht der Tabellenoption:
eyes
  • Auf Augenhöhe des Objektes wird ein Unterbefehl ausgerichtet
feet
  • Auf Fußhöhe des Objektes wird ein Unterbefehl ausgerichtet
as Selektor Unterbefehl
  • Selektor führt einen Unterbefehl als Spieler oder Objekt aus, ändert aber nicht die Position. Um beides zu ändern, muss auf den Selektor ein at-Unterbefehl folgen
at Selektor Unterbefehl
  • Selektor führt einen Unterbefehl von der Selektor-Position, der Rotation und der Dimension des Spielers oder Objektes aus, ändert aber nicht den Ausführenden. Um diesen auch zu ändern, muss vor den Selektor ein as-Unterbefehl eingefügt werden
facing Option Unterbefehl
  • Dient zur Richtungsangabe, wenn ein verschachtelter Unterbefehl Blickichtungs-Koordinaten (^ Zirkumflex) verwendet. Normalerweise bewirken sie eine Aktion in Blickrichtung der Befehlsquelle. Mit facing wird die Aktion dagegen so ausgeführt, als ob die Befehlsquelle in eine andere Richtung schauen würde. Beispiel: Der Spieler schaut nach vorne, rechts von ihm steht ein Schwein. Mit dem Befehl /teleport @p ^ ^ ^1 wird der Spieler 1 Block in Blickrichtung, also nach vorne teleportiert. Mit dem Befehl /execute facing entity @e[type=pig] eyes run teleport @p ^ ^ ^1 wird der Spieler 1 Block in Richtung Schwein teleportiert, egal wohin er schaut. Der Befehl tut so, als ob der Spieler in Richtung Schwein schauen würde. facing ist keine Zielauswahl, man kann damit also nicht ein Objekt auswählen, das man anschaut.
  • Option entspricht der Tabellenoption:
entity Selektor Körperbereich
  • Selektor ist ein Spieler oder die Zielauswahl
  • Körperbereich Tabellenoption:
eyes
  • Auf Augenhöhe des Objektes wird ein Unterbefehl ausgerichtet
feet
  • Auf Fußhöhe des Objektes wird ein Unterbefehl ausgerichtet
Position
if Bedingung Unterbefehl
  • Damit der Unterbefehl ausgeführt wird, muss Bedingung mindestens einen Treffer haben
  • Bedingung entspricht der Tabellenoption:
block Position Block[Blockzustand]{NBT-Daten}
  • Position sind die Koordinaten der Position, die mit block geprüft werden. Das kann eine absolute Position oder relativ zum Objekt sein (mit "~").
  • Block ist der ID-Name des Blockes, der geprüft wird.
  • Mit Blockzustand kann der Zustand des Blockes genauer festgelegt werden. Diese Info steht in der Blockzustand-Tabelle.
  • NBT-Daten sind weitere Daten (im NBT-Format), um den Block genauer zu spezifizieren. Werden sie weggelassen, werden sie mit Standardwerten belegt. Eine ausführliche Beschreibung steht hier.
blocks Position1 Position2 Position Option
  • Position1 und Position2 bzw. x1 y1 z1 und x2 y2 z2 sind die Koordinaten zweier diagonal gegenüberliegenden Ecken des zu prüfenden Blockbereiches, wobei die ersten Koordinaten jeweils kleiner oder gleich den zweiten sein sollten.
  • Position bzw. x y z sind die Koordinaten der Position, an der sich der Vergleichsbereich befindet (die jeweils kleineren Koordinaten). 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. Es können maximal 65536 Blöcke verglichen werden.
  • Option entspricht der Tabellenoption:
all
  • prüft alle Blöcke im Bereich. Ohne Angabe wird all angenommen.
masked
  • prüft nur Blöcke im Bereich, die keine Luft sind. Was sich im Vergleichsbereich an diesen Positionen befindet, spielt keine Rolle.
predicate Prädikat
  • Prädikat entspricht einer Prädikaten-JSON-Datei die im Datenpaket hinterlegt ist. Dort werden Bedingungen festgelegt die geprüft werden können.
data Option
  • Option entspricht der Tabellenoption:
block Position Pfad
  • Position übergibt mit x y z die Koordinaten eines Blockes.
  • Pfad gibt an, welche NBT-Daten gelesen werden sollen.
entity Selektor Pfad
  • Selektor übergibt mit dem Selektor ein Objekt.
  • Pfad gibt an, welche NBT-Daten gelesen werden sollen.
storage Wertspeicher Pfad
  • Wertspeicher übergibt mit dem Wertspeicher die NBT-Daten.
  • Pfad gibt an, welche NBT-Daten gelesen werden sollen.
entity Selektor
  • Selektor ist der Name eines Spielers oder eine Zielauswahl. Wenn Spieler oder Objekt der Name eines Spielers ist, ist die Testbedingung erfüllt, wenn der Spieler im Spiel ist.
score Selektor Ziel Vergleichsart
  • Selektor ist ein Spieler oder Objekt oder der Name eines Spielers, ein Variablenname oder eine Zielauswahl.
  • Ziel ist der interne Name des Punktestand-Ziels.
  • Vergleichsart entspricht der Tabellenoption:
Relation Selektor Ziel
  • Relation entspricht der Tabellenoption:
<
  • Kleiner als
<=
  • Kleiner gleich als
=
  • Gleich als
>=
  • Größer gleich als
>
  • Größer als
  • Selektor ist der Name eines Spielers, ein Variablenname oder eine Zielauswahl.
  • Ziel ist der interne Name des Punktestand-Ziels.
matches Punktewert
  • Punktewert kann eine einzelne Zahl (42) oder ein Zahlenbereich (12..15) sein.
  • Unterbefehl ist optional und kann auch weggelassen werden um eine Bedingung nur abzufragen ohne anschließend Befehle auszuführen
unless Bedingung Unterbefehl
  • Damit der Unterbefehl ausgeführt wird, muss Bedingung keinen Treffer haben
in Dimension Unterbefehl
  • Dimension entspricht der Tabellenoption
overworld
  • die Dimension in der der Unterbefehl wirken soll
the_end
the_nether
positioned Option Unterbefehl
  • Option entspricht der Tabellenoption:
as Selektor
  • entspricht dem Unterbefehl as mit Selektor welcher den nächsten Unterbefehl ausführt
Position
  • führt einen Unterbefehl an den Koordinaten von x y z aus
rotated Option Unterbefehl
  • Option entspricht der Tabellenoption:
as Selektor
  • entspricht dem Unterbefehl as mit Selektor welcher den nächsten Unterbefehl ausführt
Drehung Kopfneigung
  • Die Drehung gibt die Himmelsrichtung an, in die geblickt werden soll: 0 = Süden, 90 = Westen, 180 oder -180 = Norden, -90 = Osten. Jeder Winkel zwischen -180 und 180 Grad ist möglich. Andere Werte werden automatisch in diesen Bereich transformiert. Der aktuelle Winkel kann im Debug-Bildschirm (F3) am Ende von "Facing" abgelesen werden.
  • Werte für Kopfneigung: 0 = geradeaus, 90 = auf den Boden, -90 = in den Himmel. Jeder Winkel zwischen -90 und 90 Grad ist möglich. Andere Werte werden automatisch in diesen Bereich transformiert.
run Befehl
  • führt einen beliebigen Befehl aus. Der Befehl wird ohne führendem Schrägstrich eingetragen.
store Ergebnis Unterbefehl
  • Ergebnis entspricht der Tabellenoption:
result Option
  • Ergebnis eines Befehls oder einer Statistik die in einen Punktestand geschrieben wird. Da in einen Punktestand nur Zahlen geschrieben werden können, wird bei Worten ihre Länge in den Punktestand gechrieben.
  • Option entspricht der Tabellenoption:
block Position Pfad Skalierung Datentyp
  • Position übergibt mit x y z die Koordinaten eines Blockes.
  • Pfad gibt an, welche NBT-Daten gelesen werden sollen.
  • Skalierung sagt aus, um welchen Faktor der NBT-Wert multipliziert werden soll (15.24 * 100 = 1524), bevor er in das ganzzahlige Punktestand-Ziel gespeichert werden soll.
  • Java-Datentyp entspricht der Tabellenoption:
byte
  • Kleinster Ganzahltyp
short
  • Kleiner Ganzahltyp
int
  • Normaler Ganzahltyp
long
  • Großer Ganzahltyp
float
  • Kleiner Fließkommazahltyp
double
  • Großer Fließkommazahltyp
entity Selektor Pfad Skalierung Datentyp
  • Selektor übergibt mit dem Objekt den Einzulesenden mit Ziel in welchen die Werte gespeichert werden.
storage Wertspeicher Pfad Skalierung Datentyp
  • Wertspeicher übergibt mit dem Wertspeicher die NBT-Daten in welchen die Werte gespeichert werden.
score Selektor Ziel
  • Selektor kann ein Spieler, Objekt oder Variable sein
  • Ziel entspricht dem Punktestand-Ziel.
bossbar Name Einstellung
  • Name ist der Bezeichner für die Bossleiste
  • Einstellung entspricht der Tabellenoption:
max
  • Der Maximal-Wert der Bossleiste wird übertragen
value
  • ein Wert wird für die Bossleiste übertragen
success Option
  • ist die Anzahl, wie oft der Befehl erfolgreich war. Dies ist normalerweise 0 oder 1, wenn der Unterbefehl sich aber aufteilt (durch z.B. @a) kann es auch mehr sein.

Eigenschaften

Mit Hilfe von /execute können Befehle an Positionen oder für Spieler, Kreaturen und sonstige Objekte ausgeführt werden, die normalerweise keinen <Objekt>-Parameter haben. Bei Spielern wird der Befehl auch dann ausgeführt, wenn der Spieler selbst nicht die Berechtigung dazu hat (genauso wie beim Aktivieren eines Befehlsblocks).

Außerdem kann man mit /execute mehrere Zielauswahlen verknüpfen:

/execute as @e[type=armor_stand] at @e[type=sheep,distance=..10] run setblock ~ ~-1 ~ stone keep

bewirkt: Jeder Rüstungsständer gibt an alle Schafe in seinem Umkreis einen /setblock-Befehl.

/execute at @e[type=skeleton] at @e[type=slime,distance=..10] run summon zombie ~2 ~ ~2

bewirkt: Jedes Skelett gibt an alle Schleime in ihrer Nähe einen /summon-Befehl, welcher Zombies in der Nähe der Schleime erschafft.

/execute as @e[type=cow] at @s run tellraw @p[distance=..10] [{"selector":"@p"},{"text":" ist hier"}]

bewirkt: Jede Kuh sendet an ihren nächstgelegegenen Spieler einen /tellraw-Befehl.

Beispiele

align

/execute as @e[type=item,limit=5,distance=..10] at @s align xyz run teleport @s ~0.5 ~ ~0.5
  teleportiert alle herumliegenden Gegenstände um die Befehlsquelle in das Zentrum des Blockes.
/execute as @s at @s align xyz run summon minecraft:armor_stand
  Platziert an der Position des Spielers einen Rüstungsständer achsenzentriert.

as

/execute as oyo123 run say Ich bin Oyo
  führt für oyo123 den Befehl "/say Ich bin Oyo" aus. /say kann normalerweise nicht für andere Spieler ausgeführt werden, mit /execute ist das jedoch möglich.
/execute at @a[team=Crafter,distance=..50] as @e[type=rabbit,distance=..25] at @s if block ~ ~-1 ~ grass run setblock ~ ~ ~ pink_tulip
  prüft ob in einem Radius von 50 Metern Spieler im Team "Crafter" sind. Ist dies der Fall, wird von diesen Spielern in einem Radius von 25 Metern geprüft, ob sich in der Nähe Kaninchen aufhalten, welche auf Gras laufen. Trifft das zu, so wird genau an der Stelle, wo sich das Kaninchen befindet, eine rosa Tulpe platziert.

at

/execute at oyo123 positioned ~ ~2 ~ run setblock ~ ~3 ~ stone destroy
  setzt 5 Blöcke über oyo123s Füße einen Stein und zerstört, was dort vorher war. /setblock verwendet hier wieder relative Koordinaten, wobei die Bezugskoordinaten diesmal relativ zu oyo123s Position sind.
/execute at @e[type=pig,distance=..20] positioned ~ ~-1 ~ run setblock ~ ~ ~ air destroy
  nimmt jedem Schwein in einem Umkreis von 20 Blöcken den Boden unter den Füßen weg, indem der Block unter den Schweinefüßen durch Luft ersetzt wird.
/execute at @e[type=pig,distance=..20] run setblock ~ ~-1 ~ air destroy
  macht dasselbe wie der vorige Befehl, wobei die relativen Koordinaten nach dem execute-Befehl eingetragen wurden.
/execute at @e[type=minecart,distance=..10] run summon villager
  erzeugt einen Dorfbewohner an jeder Lore im Umkreis von 10 Blöcken.
/execute at oyo123 run spreadplayers ~ ~ 1 4 false @e[name=!oyo123,distance=..6]
  macht den Spieler oyo123 zum Magneten: überall wo er sich befindet, werden alle Spieler und Kreaturen in einem Umkreis von 6 Blöcken (außer ihm selbst) in einem zufälligen Bereich von 4 Blöcken um ihn herum neu verteilt. Solange der Befehl an einen Taktgeber angeschlossen ist, kann oyo123 herumlaufen und wird alle Wesen, die in seine Nähe kommen, herumwirbeln.
/execute at @a[tag=Held,tag=!Feigling] run setblock ~ ~-1 ~ gold_block
  prüft ob ein Spieler die Eigenschaft "Held" besitzt und wenn er sie besitzt wird geprüft ob er auch kein Feigling ist. Wenn das alles auf den Spieler zutrifft wird unter ihm ein Goldblock platziert.

if oder unless

/execute at @a if block ~ ~-1 ~ minecraft:grass run setblock ~ ~-1 ~ minecraft:dirt replace
  bewirkt, dass alle Spieler Spuren auf Grasblöcken hinterlassen, solange der Befehl in einem Wiederhol-Befehlsblock steht. Der if block-Zusatz prüft den Block unter jedem Spieler (relative Y-Koordinate minus 1). Wenn es ein Grasblock ist, wird er durch Erde ersetzt. Würde hinter statt dirt dort coarse_dirt stehen, würde der Grasblock durch Grobe Erde ersetzt, die sich nicht wieder in Gras zurückverwandelt.
/execute at @p if block ~ ~-1 ~ minecraft:diorite if block ~ ~2 ~ minecraft:acacia_log run fill ~5 ~5 ~5 ~-5 ~-5 ~-5 minecraft:black_concrete hollow
  Der Befehl testet ob unter dem Spieler Diorit ist und über ihm Akazienholz. Wenn das zutrifft setzt er in einem 10x10-Bereich um den Spieler herum schwarzen Beton mit Hohlraum hin.
/execute unless entity @p[name=oyo123] run say Oyo ist nicht hier
  Wenn der Spieler oyo123 nicht in der Welt ist, wird die Nachricht ausgegeben, das er nicht online ist.
/execute as @a at @s unless block ~ ~-1 ~ minecraft:stone run setblock ~ ~-1 ~ minecraft:stone
  Platziert an der Position des Spielers einen Block tiefer einen Stein, falls sich dort kein Stein befindet.

if oder unless ohne run

/execute if entity @p[nbt={SelectedItem:{id:"minecraft:diamond_sword"}}]
  Prüft den nächstgelegenen Spieler und liefert ein Signal, wenn er ein Diamantschwert in der Hand hält.
/execute if block ~ ~-1 ~ command_block{Command:"/kill @e[type=minecraft:pig,distance=..10]"}
  Testet ob sich ein Befehlsblock mit dem Befehl /kill @e[type=pig,distance=..10], einen Block entfernt, in y-Richtung befindet.
/execute if blocks 20 65 -38 28 75 -30 100 60 100
  Alle Blöcke, die sich in dem 8×8×10 Blöcke großen Bereich (20 bis 28 in X-Richtung, -38 bis -30 in Z-Richtung, 65 bis 75 in Y-Richtung) befinden, werden mit ihrem jeweiligen Pendant im Bereich 100/60/100 bis 108/70/108 verglichen.
/execute unless entity @e[type=!minecraft:zombie,type=!minecraft:skeleton,type=!spider]
  Prüft durch doppelte Negation ob sich in der Welt Zombies, Skelette und Spinnen aufhalten.

positioned

/execute positioned 50 74 -10 run setblock 40 64 -20 minecraft:stone destroy
  setzt an Position 40/64/-20 einen Stein und zerstört, was dort vorher war. Die Bezugskoordinaten 50/74/-10 haben hier keine Bedeutung, weil /setblock darauf keinen Bezug nimmt.
/execute positioned 50 74 -10 run setblock ~7 64 ~ minecraft:stone destroy
  setzt an Position 57/64/-10 einen Stein und zerstört, was dort vorher war. /setblock verwendet hier Koordinaten relativ zu den Bezugskoordinaten 50/74/-10.
/execute positioned as @e[type=minecraft:slime,nbt={Size:1}] run setblock ~ ~-1 ~ minecraft:slime_block
  setzt einen Block unter kleinen Schleimen einen Schleimblock.

store

/execute as @p store result score @s VERSION run data get entity @s DataVersion
  speichert die Versions-ID des Spielers in das Punktestand-Ziel VERSION, welches mit dem Befehl /scoreboard objectives add VERSION dummy erzeugt wurde. Mit dem Befehl /scoreboard objectives setdisplay sidebar VERSION kann der Wert sichtbar gemacht werden.
/execute store success score @s ERFOLG run say Hab ich Erfolg
  speichert eine eins bei Erfolg des say-Befehls in das Punktestand-Ziel ERFOLG, welches mit dem Befehl /scoreboard objectives add ERFOLG dummy erzeugt wurde.

Geschichte

execute vor Vollversion 1.13

Versionsgeschichte der Java Edition
Vollversion 1.8
14w07a
  • Der Befehl /execute wird hinzugefügt
14w08a
  • Befehle, die mit dem Befehl /execute arbeiten, geben ihr Ergebnis an den Befehlsblock zurück, von dem sie ausgeführt werden, sodass man sie mit einem Redstone-Komparator abfragen kann
14w26a
  • Der Befehl /execute hat einen detect-Parameter. Damit kann der angehängte Befehl nur ausgeführt werden, wenn sich ein Block an einem spezifischen Ort relativ zum Zielobjekt befindet
Vollversion 1.11 (16w32a)
Vollversion 1.13
17w45a
  • Der Befehl /execute wird vollständig überarbeitet
  • Modifikator-Unterbefehle ändern die Art, wie der Befehl ausgeführt wird
  • Bedingte Unterbefehle können die Ausführung des Befehls komplett verhindern
  • Man kann mehrere Unterbefehle direkt aneinanderketten
  • Als Ersatz für den Befehl /stats gibt es den Unterbefehl store, mit welchem man das Ergebnis des Befehls speichern kann
  • Als Ersatz für den Befehl /testfor, /testforblock und /testforblocks gibt es die Unterbefehle if entity, if block und if blocks
  • Die Unterbefehle lassen sich mit unless auch negieren, das Gegenstück zu if
  • Als teilweisen Ersatz für den Befehl /scoreboard players test gibt es den Unterbefehl if score ... <Relation> ..., mit welchem man Variablen auf Relationen (z.b. Gleichheit) abfragen kann
  • Weitere Unterbefehle lauten: align, as, at, offset und run
17w45b
  • Der Unterbefehl store besitzt weitere Parameter-Angaben: block, entity und score
  • Nach den Parametern der beiden Unterbefehlen if und unless können optional auch keine weiteren Unterbefehle folgen
18w02a
  • Als Ersatz für den /scoreboard players test gibt es den neuen Unterbefehl if score ... matches, mit welchem man Variablen auf feste Punktewerte abfragen kann
  • Neue Unterbefehle: facing, rotated, in und anchored hinzugefügt
  • offset wird in positioned geändert
18w05a
  • Der Unterbefehl store besitzt eine weitere Parameter-Angabe: bossbar
18w19a
  • Wenn F3 und C gedrückt wird, um die Position zu speichern, erhält man im Chat einen /teleport-Befehl in Kombination mit /execute in <Dimension>
Vollversion 1.14 (18w43a)
  • Unterbefehl /execute if data <block oder entity> <Pfad> (und execute unless data) hinzugefügt
Vollversion 1.15 (19w38a)
  • Die Unterbefehle if|unless data und store result|success werden um storage erweitert, um einen Wertspeicher mit NBT-Daten zu überprüfen.
  • Neuer Parameter predicate, mit dem Bedingungen aus Prädikat-JSON-Dateien prüfen kann.

Advertisement