/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.
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 setzt Spieler oder Objekte als den Ausführer fest, welcher mit @s in weiteren Unterbefehlen oder Befehlen verwendet werden kann. Er ä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 Blickrichtungs-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.
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 Datenspeicher Pfad
Datenspeicher übergibt mit dem Datenspeicher die NBT-Daten.
Pfad gibt an, welche NBT-Daten gelesen werden sollen.
dimension Dimension
Dimension ist der Name einer Dimension. Wird der Befehl in der angegebenen Dimension ausgeführt, ist die Bedingung erfüllt.
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.
loaded Position
Postition übergibt mit x y z die Koordinaten eines Blockes. Die Testbedingung ist erfüllt, wenn die angegebene Stelle vollständig geladen ist (Blöcke und Objekte).
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
Die Skalierung einer Dimension wird berücksichtigt.
Macht das Objekt, auf dem das ausführende Objekt reitet zum ausführenden Objekt.
passengers
Macht alle Objekte, die unmittelbar auf dem ausführenden Objekt reiten, zu den ausführenden Objekten (keine Objekte, die auf einem Objekt reiten, welches auf dem ausführenden Objekt reitet)
controller
Macht das Objekte, das das ausführende Objekt kontrolliert, zum ausführenden Objekt (zum Beispiel der erste Passagier eines Bootes)
origin
Macht das Ursprungsobjekt des ausführenden Objekts zum aktuellen Objekt:
Bei Projektilen (Pfeile, Dreizack etc.) das Objekt, was das Projektil abgefeuert hat,
Bei Drops denjenigen, der den Gegenstand geworfen hat,
Bei auf den Boden geworfenen Verweiltränken den Spieler der den Verweiltrank geworfen hat,
Bei gezündetem TNT denjenigen, der das TNT gezündet hat und
Bei Plagegeistern oder Fangzähnen den Magier, der diese erzeugt hat.
owner
Macht den Besitzer des ausführenden Objekts zum aktuellen Objekt, wenn es zähmbar ist (wie zum Beispiel Katzen, Wölfe oder Papageien)
leasher
Macht das Objekt, an das das ausführende Objekt angeleint ist, zum ausführenden Objekt. Ist das ausführende Objekt an einen Zaun gebunden, wird der Leinenknoten das ausführende Objekt.
target
Macht das Objekt, das das Angriffsziel vom ausführenden Objekt ist, zum ausführenden Objekt.
Bei einem Interaktionsobjekt: Macht den Spieler, der zuletzt interagiert hat, zum ausführenden Objekt.
attacker
Macht das Objekt, von dem das ausführende Objekt innerhalb der letzten fünf Sekunden zuletzt angegriffen wurde, zum ausführenden Objekt. Bei einem Interaktionsobjekt wird immer der letzte Spieler ausgewählt.
Trifft die Beschreibung bei einer Option auf kein Objekt zu, gibt es nach dessen Ausführung kein ausführendes Objekt mehr.
positioned Option Unterbefehl
Option entspricht der Tabellenoption:
as Selektor
Selektor führt einen Unterbefehl von der Selektor-Position des Spielers oder Objektes aus, ändert aber nicht den Ausführenden.
over Höhe
Dient dazu die Position der Oberfläche zu erhalten.
Höhe entspricht der Tabellenoption:
motion_blocking
Jedes bewegungshemmende Material (z.B. ignoriert Blumen und Gras).
motion_blocking_no_leaves
Jedes Material, das kein Laub/Nadeln enthält, blockiert die Bewegung.
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 Datentyp Skalierung
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.
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.
summon Objekt Unterbefehl
Als Objekt sind nur bestimmte Eingaben möglich. Die Eingabe von /execute summonTab ↹ listet alle Objektnamen auf. Sie stehen auch in der Liste der ID-Namen. Dieser Unterbefehl dient dazu, eine neue Kreatur zu beschwören und den Kontext (@s) an sie zu binden.
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=Handwerker,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 Blöcke ein Spieler im Team "Handwerker" ist. 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.
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.
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.
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.
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.