Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter   Noch keinen Server gefunden? Es gibt einen Wiki-Server

Befehl/execute

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche
Dieser Artikel enthält Inhalte über Funktionen, die möglicherweise in der zukünftigen Version 1.13 hinzugefügt werden.
Diese Funktionen sind schon in der aktuellen Entwicklungsversion 17w50a, jedoch noch nicht in einem offiziellen Update enthalten.
Nutzbarkeit

 Spieler

nein

 Cheat

ja

 Server

ja

 Befehlsblock

ja

/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[Bearbeiten | Quelltext bearbeiten]

/execute <Unterbefehl>

align <Achsen> <Unterbefehl>
  • die Achsen (Koordinaten <xyz>) welche von der Position des Objektes zentriert werden sollen.
as <Ausführender Spieler oder Objekt> <Unterbefehl>
  • das angegebene Objekt führt von sich aus den nächsten Unterbefehl aus
at <Position von Spieler oder Objekt> <Unterbefehl>
  • die Position des angegebenen Objekts wird für den nächsten Unterbefehl benutzt
if <Bedingung> [<Unterbefehl>]

unless <Bedingung> [<Unterbefehl>]
  • 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 grundsätzlich 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 angegebenen Position aus.
run <Befehl>
  • Befehl ist ein beliebiger Befehl ohne führendem Schrägstrich.
  • Zur Eingabe eines Befehls siehe Befehl#Eingabe.
store <result/success> <Unterbefehl>
  • 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.
  • 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)
score <Spieler oder Objekt oder Variable> <Ziel>
  • score überliefert das Objekt oder die Variable, die ausgelesen werden soll.
  • Ziel entspricht dem Punktestand-Ziel.

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

align[Bearbeiten | Quelltext bearbeiten]

/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[Bearbeiten | Quelltext bearbeiten]

/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[Bearbeiten | Quelltext bearbeiten]

/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/unless[Bearbeiten | Quelltext bearbeiten]

/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/unless ohne run[Bearbeiten | Quelltext bearbeiten]

/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[Bearbeiten | Quelltext bearbeiten]

/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[Bearbeiten | Quelltext bearbeiten]

/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[Bearbeiten | Quelltext bearbeiten]

/execute vor Vollversion 1.13[Bearbeiten | Quelltext bearbeiten]