Minecraft Wiki
Advertisement
Werkbank
Diese Seite beschreibt Inhalte über Funktionen, die in der Java Edition und Bedrock Edition enthalten sind.
Diese Funktionen sind schon in der aktuellen Entwicklungsversion 23w44a und beta 1.20.50.21 der 1.20.3 und der 1.20.40, jedoch noch nicht in einer offiziellen Aktualisierung enthalten.
Nutzbarkeit
 Einzelspieler nein
 Mehrspieler ja
 Cheat ja, j
 Befehlsblock Fehler im Ausdruck: Unerkanntes Wort „j“

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

Syntax

/execute <Unterbefehl>

align <Achsen> <Unterbefehl>
  • führt einen Unterbefehl mit auf- oder abgerundeten Werten aus
as <Ausführender Spieler oder Objekt> <Unterbefehl>
  • führt einen Unterbefehl als <Spieler oder Objekt> aus, ändert aber nicht die Position
at <Position von Spieler oder Objekt> <Unterbefehl>
  • führt einen Unterbefehl an der Position von <Spieler oder Objekt> aus, ändert aber nicht den Ausführenden
if <Bedingung> [<Unterbefehl>]

unless <Bedingung> [<Unterbefehl>]
if
  • Damit der Unterbefehl ausgeführt wird, muss Bedingung mindestens einen Treffer haben
unless
  • Damit der Unterbefehl ausgeführt wird, muss Bedingung keinen Treffer haben
  • wenn die Bedingung zutreffen soll oder nicht, dann wird unter der Bedingung weiter spezifiziert wie die weiteren Bedingungen lauten. Danach kann optional ein Unterbefehl angehängt werden, er kann aber auch weggelassen werden um zu prüfen ob eine Bedingung stimmt oder nicht stimmt.
block <x y z> <Block>
  • block hat die Wirkung, dass der den nachfolgende Unterbefehl nur ausgeführt wird, wenn sich an der Position der gesuchte Block sich befindet oder nicht befindet. block funktioniert nur mit Angabe von Position und Block-ID.
  • x y z 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.
blocks <x1 y1 z1> <x2 y2 z2> <x y z> [Option]
  • 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.
  • 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.
  • all oder masked legt fest, wie die Blöcke verglichen werden sollen:
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.
entity <Spieler oder Objekt>
  • Spieler oder Objekt 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 <Spieler oder Objekt oder Variable> <Ziel> <Relation> <Spieler oder Objekt oder Variable> <Ziel> <Unterbefehl>
  • Spieler oder Objekt ist der Name eines Spielers, ein Variablenname oder eine Zielauswahl.
  • Ziel ist der interne Name des Punktestand-Ziels.
offset <x y z> <Unterbefehl>
  • offset führt einen Unterbefehl an der Position <x y z> aus
run <Befehl>
  • führt einen einen beliebigen Befehl aus. Befehl wird ohne führendem Schrägstrich eingetragen.
store <Ergebnis> <Unterbefehl>
result
  • Ergebnis eines Befehls oder einer Statistik die in einen Punktestand geschrieben wird.
success
  • 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.
  • store verknüpft ein Punktestand-Ziel mit dem Unterbefehl vom Erfolg oder nicht Erfolg eines Befehls:
block <x y z> <Pfad> <Skalierung> <Datentyp>
  • block übergibt mit xyz 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, bevor er in das ganzzahlige Punktestand-Ziel gespeichert werden soll.
  • Datentyp entspricht byte, double, float, int, long und short (wie in der Programmiersprache Java)
entity <Spieler oder Objekt> <Pfad> <Skalierung> <Datentyp>
  • entity übergibt mit dem Objekt den Auszulesenden.
score <Spieler oder Objekt oder Variable> <Ziel>
  • score überliefert das Objekt oder die Variable, die ausgelesen werden soll.
  • Ziel entspricht dem Punktestand-Ziel.

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.

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

bewirkt: Jede Kuh gibt an ihren nächstgelegegen 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.

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 offset ~ ~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] offset ~ ~-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 ~ grass run setblock ~ ~-1 ~ 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 ~ diorite if block ~ ~2 ~ acacia_log run fill ~5 ~5 ~5 ~-5 ~-5 ~-5 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.

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=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.

offset

/execute offset 50 74 -10 run setblock 40 64 -20 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 offset 50 74 -10 run setblock ~7 64 ~ 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.

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.

Geschichte

execute vor Vollversion 1.13

Versionsgeschichte der Java Edition
Vollversion 1.8
14w07a
  • Der Befehl /execute wurde hinzugefügt
14w08a
  • Befehle, die mit dem Befehl /execute arbeiten, geben ihr Ergebnis an den Befehlsblock zurück, von dem sie ausgeführt wurden, sodass man sie mit einem Redstone-Komparator abfragen kann
14w26a
  • Der Befehl /execute hat nun 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)
  • Blockzustände können nun verwendet werden
Vollversion 1.13
17w45a
  • Der Befehl /execute wurde 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 nun mehrere Unterbefehle direkt aneinanderketten
  • Als Ersatz für den Befehl /stats gibt es den neuen Unterbefehl store, mit welchem man das Ergebnis des Befehls irgendwo speichern kann
  • Als Ersatz für den Befehl /testfor, /testforblock und /testforblocks gibt es den neuen Unterbefehl if entity, if block und if blocks, mit welchem man die Anwesenheit oder Abwesenheit von Kreaturen oder Blöcken abfragen kann
  • Als Ersatz für den Befehl /scoreboard players test gibt es den neuen Unterbefehl if score, mit welchem man Variablen auf Relationen (z.b. Gleichheit) abfragen kann
17w45b
  • Der Unterbefehl store besitzt nun weitere Parameter-Angaben: block, entity und score
  • Nach den Parametern der beiden Unterbefehlen if und unless können optional auch keine weiteren Unterbefehle folgen

Advertisement