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

Befehl

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche

Mit einem Befehl können Veränderungen am Spielgeschehen außerhalb des eigentlichen Spiels hervorgerufen werden. Dabei sind nicht immer alle Befehle für jeden Spieler zugänglich.

Nutzbarkeit[Bearbeiten]

Es gibt vier Gruppen von Befehlen:

  • Spieler-Befehl: Diesen Befehl kann jeder Spieler ohne Einschränkung ausführen, d.h. im Einzelspielermodus mit der Option "Cheats erlauben: Aus" und im Mehrspielermodus ohne Operator zu sein.
  • Cheat-Befehl: Dieser Befehl kann das Spiel verändern und wird daher Cheat (engl. für Mogelei) genannt. Um ihn benutzen zu können, muss man im Einzelspieler-Modus vor der Weltgenerierung die Option "Cheats erlauben" einschalten bzw. bei der Veröffentlichung im LAN einstellen. Im Mehrspieler-Modus muss man Operator-Rechte haben. Im Mehrspieler-Modus werden automatisch alle Spieler über einen eingegebenen Operator-Befehl informiert.
  • Server-Befehl: Dieser Befehl ist auf Servern vorhanden, d. h. man kann ihn in der Server-Konsole eintippen. Ebenso kann man ihn im Client eingeben, wenn man im Mehrspielermodus mit einem Server verbunden ist und Operator-Rechte besitzt. Einige dieser Befehle gibt es nicht im Einzelspieler-Modus. Zum Einzelspieler-Modus zählt auch die Veröffentlichung einer Welt im LAN ("LAN-Welt"), da dies kein Serverbetrieb ist.
  • Befehlsblock-Befehl: Dieser Befehl kann vom Befehlsblock, der Befehlsblocklore oder einer Funktion verwendet werden.

Auf den meisten Minecraft-Servern kommen außerdem sog. Plugin-Befehle zum Einsatz, welche die Verwaltung, die Aufrechterhaltung und z.B. das Aufspüren von Unruhestiftern enorm erleichtern. Diese Art von Befehl existiert nicht in der Vanilla-Version von Minecraft, daher wird sie hier auch nicht behandelt.

Befehlsquelle[Bearbeiten]

Ein Befehl kann von unterschiedlichen Befehlsquellen ausgeführt werden. Die Position der Befehlsquelle ist entscheidend bei der Eingabe von relativen Koordinaten. Folgende Befehlsquellen sind möglich:

  • Eingabe in der Chat-Konsole durch einen Spieler. Um den Befehl von einem Chat-Text zu unterscheiden, muss er mit einem führenden Schrägstrich / gekennzeichnet werden. Um die Chat-Konsole zu öffnen, drückt man entweder die Chattaste T oder die Befehlstaste -, die den benötigten Schrägstrich gleich vorgibt.
  • Eingabe in der Server-Konsole. Dort kann ein Befehl ohne vorangestellten Schrägstrich eingegeben werden, weil ein direktes Chatten nicht möglich ist (nur indirekt über Befehle). Der Server ist kein Objekt in der Welt. Er kann keine Befehle mit dem @s-Selektor ausführen.
  • Hinterlegung in einem Befehlsblock. Sobald dieser durch ein Redstone-Signal aktiviert wird, wird der Befehl ausgeführt. Wenn es ein Wiederhol-Befehlsblock ist, wird dies immer wieder ausgeführt. Auch im Befehlsblock kann der Schrägstrich weggelassen werden.
  • Hinterlegung in einer Befehlsblocklore. Dadurch wird der Befehl mobil und kann mit der Lore an einen beliebigen Ort gefahren werden, der mit dem Schienennetz verbunden ist. Der Schrägstrich kann auch hier weggelassen werden.
  • Hinterlegung in einer Funktion, die in einem Datenpaket abgespeichert ist. Die Anzahl der Befehle ist unbegrenzt und Funktionen sind im Gegensatz zu Befehlsblöcken unabhängig von geladenen Chunks. Der Schrägstrich muss hier weggelassen werden. Die Befehlsquelle ist der Aufrufer der Funktion.
  • Erreichen eines Fortschritts, in dessen Fortschrittsdaten eine Funktion eingetragen ist. Die Befehlsquelle ist der Spieler, der den Fortschritt erhält.
  • Mit jedem Tick, wenn im Funktions-Alias minecraft:tick eine oder mehrere Funktionen eingetragen sind. Die Befehlsquelle ist der Server (siehe Server-Konsole weiter oben in der Liste).
  • Verwendung eines JSON-Textes im Befehl /tellraw. Damit kann eine Nachricht über den Chat gesendet werden, die einen oder mehrere anklickbare Textteile enthält, die jeweils einen Befehl ausführen. Der Schrägstrich muss im JSON-Text angegeben werden. Die Befehlsquelle ist der Spieler, der den Text anklickt und somit den Befehl ausführt.
  • Durch Verwendung eines JSON-Textes in einem Schild. Wenn der JSON-Text anklickbare Textteile enthält, wird dadurch das Schild anklickbar und löst dann alle Befehle aus. Die Befehlsquelle ist der Spieler, der das Schild anklickt.
  • Verwendung eines JSON-Textes in einem beschriebenen Buch. Dadurch ist der Befehl mobil und kann überall hin getragen werden. Durch Anklicken eines Textteils im Buch wird der Befehl ausgelöst. Die Befehlsquelle ist der Spieler, der das Buch anklickt.

Wenn ein Befehl einen Block oder ein Objekt in der Welt verändert, muss der Block bzw. das Objekt geladen sein, sonst wird eine Fehlermeldung ausgegeben.

Übersicht[Bearbeiten]

Hilfsmittel
Befehl Beschreibung
/datapack Verwaltet Datenpakete.
/debug Startet oder stoppt das Schreiben eines Debug-Protokolls.
/function Führt eine Liste von Befehlen aus, die sich in einer mcfunction-Datei befinden.
/help Listet einen oder mehrere Befehle mit seiner Syntax auf.
/locate Zeigt die Koordinaten des nächstgelegenen Bauwerks an.
/reload Lädt JSON-Dateien wie Beutetabellen oder Fortschritte erneut.
/scoreboard Verwaltet Teams und selbst definierte Punktestände.
/seed Nennt den Startwert der Welt.
Chat
Befehl Beschreibung
/me Sendet im Chat den Namen des Versenders zusammen mit einem Aktionstext.
/msg Sendet im Chat eine Nachricht an einen Spieler (flüstern genannt).
/say Sendet im Chat eine Nachricht an alle Spieler.
/tell Identisch mit /msg.
/tellraw Sendet im Chat eine Nachricht an einen Spieler, die formatiert und Maus-sensitiv sein kann.
/w Identisch mit /msg (engl. whisper).
Veränderung von Wesen (Spieler oder Kreatur)
Befehl Beschreibung
/advancement Gibt dem Spieler einen Fortschritt.
/bossbar Zeigt dem Spieler eine Bossleiste an.
/clear Entfernt Gegenstände aus dem Inventar des Spielers.
/data Verändert die Eigenschaften einer Kreatur.
/effect Gibt dem Wesen einen Statuseffekt.
/enchant Gibt dem Gegenstand, den der Spieler in der Hand hält, eine Verzauberung.
/execute Lässt von einem Wesen /einer Position einen Befehl ausführen und /oder prüft Bedingungen.
/experience Gibt oder nimmt dem Spieler Erfahrungspunkte.
/gamemode Verändert den Spielmodus des Spielers.
/give Gibt Gegenstände in das Inventar des Spielers.
/kill Tötet das Wesen sofort.
/particle Lässt Partikel um das Wesen erscheinen.
/playsound Spielt ein Geräusch für den Spieler ab.
/recipe Gibt dem Spieler Crafting-Rezepte.
/replaceitem Ersetzt Gegenstände im Inventar des Wesens.
/scoreboard Ordnet das Objekt (Wesen oder lebloses Objekt) einem Team zu oder ändert seinen Punktestand.
/spawnpoint Ändert den Spawnpunkt des Spielers.
/spreadplayers Verteilt die Wesen innerhalb eines vorgegebenen Bereiches in der Landschaft.
/stopsound Beendet das Abspielen eines Geräusches für den Spieler.
/tag Gibt oder entfernt dem Wesen ein Etikett.
/team Verwaltung von Teams.
/teleport Teleportiert das Wesen zum Ziel und /oder dreht es.
/title Zeigt dem Spieler einen Titelbildschirm an.
/tp Identisch mit Befehl /teleport
/trigger Ändert den Punktestand des Spielers.
/xp Identisch mit /experience.
Veränderung der Welt
Befehl Beschreibung
/clone Kopiert einen ganzen Blockbereich an eine andere Position.
/data Verändert die Blockobjektdaten eines Blockes in der Welt.
/defaultgamemode Verändert den Spielmodus der Welt.
/difficulty Verändert den Schwierigkeitsgrad der Welt.
/fill Füllt einen Bereich mit einem bestimmten Block oder mit Luft.
/forceload Lädt bestimmte Chunks dauerhaft.
/gamerule Ändert eine Grundeinstellung der Welt.
/particle Lässt Partikel an einer bestimmten Position in der Welt erscheinen.
/publish Stellt die Welt zum gemeinsamen Spielen in einem LAN (lokalen Netzwerk) zur Verfügung.
/replaceitem Ersetzt Gegenstände im Inventar eines Behälters.
/setblock Platziert oder löscht einen Block an einer bestimmten Position in der Welt.
/setworldspawn Verändert den Spawnbereich der Welt.
/summon Holt ein Objekt (Kreatur etc.) in die Welt.
/tickingarea Bedrock-exklusiv: Lädt bestimmte Chunks dauerhaft.
/time Ändert die Weltzeit.
/weather Ändert das Wetter in der Welt.
/worldborder Setzt eine Grenze um die Welt.
Server-Verwaltung
Befehl Beschreibung
/ban Sperrt einen Spieler dauerhaft vom Server.
/ban-ip Sperrt eine IP-Adresse dauerhaft vom Server.
/banlist Zeigt alle gesperrten Spieler oder IP-Adressen des Servers an.
/deop Entfernt die Operator-Rechte von einem Spieler für diesen Server.
/kick Entfernt einen aktiven Spieler sofort vom Server.
/list Listet alle aktiven Spieler des Servers auf.
/op Gibt Operator-Rechte für diesen Server an einen Spieler.
/pardon Hebt die Sperre eines Spielers für den Server auf.
/pardon-ip Hebt die Sperre einer IP-Adresse für den Server auf.
/save-all Sichert die Welt sofort auf dem Server.
/save-off Stellt das automatische Sichern der Welt auf dem Server aus.
/save-on Stellt das automatische Sichern der Welt auf dem Server an.
/setidletimeout Setzt eine Grenze, wie lange Spieler unbeweglich auf dem Server herumstehen dürfen.
/stop Stoppt den Server sofort und fährt ihn herunter.
/whitelist Verwaltung der Gästeliste für den Server.

Parameter[Bearbeiten]

Die meisten Befehle haben zusätzliche Parameter oder Argumente. Ihre Reihenfolge wird durch die Befehlssyntax vorgegeben. Parameter werden immer durch Leerzeichen voneinander getrennt.

Es gibt unterschiedliche Parameterarten. Um sie zu unterscheiden, werden in der Syntax spezielle Metazeichen verwendet. Diese dienen nur zur Erkennung der Parameterart und werden nicht mit eingegeben. Es gibt folgende Parameterarten:

  • Parameter ohne spitze Meta-Klammern sind unveränderliche Worte, die genau so eingegeben werden müssen.
  • <Parameter> mit spitzen Meta-Klammern sind Platzhalter für einen Wert, z. B. für einen Spielernamen oder für Koordinaten.
  • [Parameter] bzw. [<Parameter>] mit eckigen Meta-Klammern - egal ob unveränderliches Wort oder Platzhalter - sind optional, d. h. man kann sie zusätzlich eingeben, wenn man möchte.
  • (Parameter|<Parameter>) bzw. [Parameter|<Parameter>] mit senkrechten Meta-Strichen sind Alternativen. Die runden Meta-Klammern fassen notwendige Alternativen zusammen, d. h. eine davon muss ausgewählt werden, während eckige Klammern optionale Alternativen zusammenfassen, die weggelassen werden können.

Beispiel: /time set (day|midnight|night|noon|<time>)

  • Der Befehl heißt /time.
  • Der erste Parameter set ist ein unveränderliches Wort.
  • Der zweite Parameter (day|midnight|night|noon|<time>) ist eine Auswahl von Alternativen. Die Alternativen day, midnight, night und noon sind unveränderliche Worte, während die letzte Alternative <time> ein Platzhalter für eine Zeitangabe ist.
  • Bedeutung: Man kann z.B. /time set day oder /time set 6000 eingeben.

Eingabehilfe[Bearbeiten]

Die Tab ↹-Taste ist bei der Eingabe von Befehlen und Parametern eine große Hilfe, denn sie listet mögliche Eingaben auf und wechselt zwischen ihnen. Dies gilt nicht für die Server-Konsole.

Zur Wiederholung einer Eingabe benutzt man im Chat die -Taste.

Eingabehilfe1.png

Der Befehl /help zeigt die Syntax für jeden Befehl an. In den meisten Fällen ist es die komplette Syntax, aber nicht immer.

Im Beispiel hat der Befehl /summon drei Parameter: <entity> (Objekt), [<pos>] (optionale Position) und [<nbt>] (optionale NBT-Daten), wobei der letzte vom /help-Befehl nicht angezeigt wird.

Eingabehilfe2.png

Im Menü/Optionen/Chateinstellungen kann man die "Befehlsvorschläge" einschalten, wodurch bei der Eingabe eines Schrägstriches eine Liste aller verfügbaren Befehle angezeigt wird (im Einzelspielermodus sind die Serverbefehle nicht verfügbar). Ist die Option ausgeschaltet, wird die Auswahlliste nicht angezeigt.

Der Befehle-Parser hat eine automatische Eingabehilfe, die die Eingabe von Befehlen sehr erleichtet. In jeder Auswahlliste kann man mit den Tasten und oder mit der Maus eine Auswahl treffen. Dreht man am Mausrad, schiebt sich der Listeninhalt weiter. Ist man in der Liste unten angekommen, führt die Taste wieder an den Anfang bzw. wenn man am Anfang steht, führt die Taste zum Ende. Jeder eingegebene Buchstabe verkürzt die Auswahlliste.

Gibt man beispielsweise "/s" ein, sieht man nur noch die Befehle, die mit "/s" beginnen. Der Befehle-Parser prüft den Befehl bereits bei der Eingabe und zeigt ihn rot an, solange er nicht erkannt wird.

Eingabehilfe3.png

Die Taste Tab ↹ vervollständigt die Eingabe automatisch aus der Auswahlliste. Mehrfaches Drücken von Tab ↹ wählt nacheinander die Auswahlen aus der Liste aus. Mit ⇧ Shift Tab ↹ kommt man wieder zurück, falls man zu oft Tab ↹ gedrückt hat.

Eingabehilfe4.png

Die Leertaste ist für den Befehle-Parser das Zeichen, den nächsten Parameter zu beginnen. Für jeden Parameter zeigt die Eingabehilfe die passende Auswahlliste an.

Im Beispiel ist es eine Liste aller Objekte. Fährt man mit der Maus über einen ID-Namen, wird die Übersetzung in der eingestellten Sprache angezeigt.

Eingabehilfe5.png

Drückt man Esc, wird statt der Auswahlliste der aktuelle und der nächste einzugebende Parameter angezeigt. Um wieder die Auswahlliste zu sehen, geht man ein Zeichen zurück und wieder vor .

Eingabehilfe6.png

Nach der Eingabe des Parameters und erneuter Leertaste zeigt die Eingabehilfe den nächsten Parameter an. Im Beispiel ist es eine Position. Zeigt das Fadenkreuz dabei auf einen Block, sieht man die Hitbox des Blockes und seine Koordinaten werden automatisch vorgeschlagen.

Eingabehilfe7.png

Wenn das Fadenkreuz auf keinen Block zeigt, werden drei Tilden ~ ~ ~ angezeigt, die für die aktuelle Position der Befehlsquelle stehen (hier die Füße des Spielers, der den Befehl im Chat eingibt).

Eingabehilfe8.png

Drückt man Esc, werden wieder der aktuelle und der nächste Parameter angezeigt.

Eingabehilfe10.png

Solange ein Parameter grau dargestellt wird, ist er noch nicht eingegeben. Mit Tab ↹ wird der Vorschlag übernommen. Dann wird der Parameter in einer bestimmten Farbe angezeigt. Die Farben haben immer dieselbe Reihenfolge, unabhängig von der Bedeutung des Parameters: Der erste Parameter ist immer hellblau, der zweite ist gelb, der dritte ist hellgrün etc.

Eingabehilfe12.png

Für die Eingabe von Zielauswahlen gibt es eine Eingabehilfe, die alle Selektoren und die anwesenden Spieler anzeigt. Fährt man mit der Maus über einen Selektor, wird dessen Bedeutung in der eingestellten Sprache angezeigt. Ist der Befehl für Objekte geeignet und zeigt das Fadenkreuz auf ein Objekt, wird dessen UUID mit zur Auswahl gestellt.

Eingabehilfe11.png

Bei der Eingabe von Zielauswahlen kann man Filter verwenden. Auch dafür gibt es eine Eingabehilfe und die Anzeige der Bedeutung, wenn man mit der Maus darüberfährt.

Eingabehilfe13.png

Die Eingabehilfe für Blöcke und Gegenstände zeigt auch die zugehörigen Aliasdaten an, sie beginnen immer mit einem #.

Eingabehilfe14.png

Eingabehilfe15.png

Eingabehilfe16.png

Blöcke können in einem bestimmten Blockzustand gesetzt werden. Dazu muss man direkt nach dem Block eine eckige Klammer [ öffnen. Die Eingabehilfe zeigt dann die möglichen Blockzustände an. Nach Auswahl eines Blockzustandes zeigt die Eingabehilfe die möglichen Werte für den Blockzustand an. Weitere Blockzustände können nach Eingabe eines Kommas ,angefügt werden. Die Eingabe wird mit einer eckigen Klammer ] abgeschlossen.

Eingabehilfe17.png

Eingabehilfe18.png

Blöcke und Gegenstände können mit NBT-Daten eingegeben werden. Die Eingabehilfe zeigt an der entsprechenden Stelle eine geschweifte Klammer { an. Nach Eingabe der NBT-Daten in Form von SNBT muss man die geschweifte Klammer wieder schließen }. Wichtig dabei: Blockzustände und NBT-Daten gehören direkt zum Block bzw. Gegenstand, daher darf kein Leerzeichen zwischen dem ID-Namen und den eckigen bzw. geschweiften Klammern sein. Leerzeichen innerhalb der Klammerung sind dagegen erlaubt.

Zielauswahl [Bearbeiten]

In allen Befehlen, in denen der Parameter <target> oder <targets> vorkommt, kann man statt eines konkreten Spielernamens auch alle Spieler oder Spieler mit bestimmten Eigenschaften filtern. Bei einigen Befehlen können sogar Objekte als Ziel ausgewählt werden. Diese Zielauswahl wird vor allem beim Befehlsblock eingesetzt, kann aber ebenso bei einem Befehl in der Chat-Konsole verwendet werden. Dazu ist grundsätzlich einer der fünf Selektoren anzugeben, der wahlweise mit Filtern verbunden werden kann. Die einfache Zielauswahl ist nur im Mehrspielermodus sinnvoll (funktioniert aber auch im Einzelspielermodus). Wenn Filter hinzugefügt werden, ist die Zielauswahl auch im Einzelspielermodus sehr sinnvoll.

Selektoren[Bearbeiten]

Selektor Bedeutung
@p
Der Spieler (p = player), der der Befehlsquelle (dem Befehlsblock oder dem ausführenden Spieler) am nächsten steht, wird ausgewählt. Äquivalent zu @e[type=player,sort=nearest,limit=1]
@a
Alle Spieler (a = all) werden ausgewählt. Äquivalent zu @e[type=player]
@r
Ein zufälliger Spieler (r = random), oder bei angegebenem type-Filter auch ein anderes Objekt, wird ausgewählt. Äquivalent zu @e[type=player,sort=random,limit=1]
@e
Alle Objekte (e = entity) werden ausgewählt, d.h. alle Spieler, Kreaturen, Fahrzeuge, Drops, fliegende Geschosse etc.
@s
Die Befehlsquelle selbst (s = self). Beispiel für einen Spieler oder einen Befehlsblock: /say Mein Name ist @s. Mit dem Befehl /execute können alle gefundenen Objekte als Befehlsquelle dienen, z. B. /execute as @e run say Mein Name ist @s. Äquivalent zu @e[distance=0,sort=nearest,limit=1]

Wird die Zielauswahl an Stelle eines <targets>-Parameters in einem Befehl verwendet, wird der Befehl nacheinander für alle gefundenen Ziele ausgeführt. Wird der Selektor "@e" aber bei einem <target>-Parameter (Singular) eingesetzt, führt das zu der Meldung "Nur ein Objekt ist erlaubt, aber der angegebene Selektor könnte mehrere liefern", beispielsweise bei /data get entity @e. In diesem Fall schaltet man den execute-Befehl vor und verwendet im Unterbefehl den @s-Selektor: /execute as @e run data get entity @s.

Wird die Zielauswahl als Teil einer Chat-Nachricht versendet, wird sie im Nachrichtentext durch eine Liste der gefundenen Ziele ersetzt. Das kann man zum Testen der Zielauswahl nutzen, indem man im Einzelspielermodus die Zielauswahl mit dem Befehl /say verwendet, z.B. /say @e. Im Mehrspielermodus würde man dadurch allerdings eine Nachricht im Chat an alle Mitspieler senden.

Filter[Bearbeiten]

Um eine Zielauswahl mit einem oder mehreren Filtern zu verbinden, schließen diese in eckigen Klammern [] direkt und ohne Leerzeichen an den Selektor an. Die Syntax ist wie folgt: <Selektor>[<Filter>=<Wert>,<Filter>=<Wert>,...]. Ein Spieler oder Objekt wird gefunden, wenn alle Filterbedingungen erfüllt sind.

Die Filter teilen sich in drei Gruppen:

  • Einschränkung des Auswahlbereiches. Ohne Einschränkung ist der Auswahlbereich die ganze Welt.
  • Einschränkung der Auswahlmenge. Ohne Einschränkung sind das alle Ziele im Auswahlbereich.
  • Einschränkung der Zieleigenschaften. Ohne Einschränkung sind das alle Ziele im Auswahlbereich.
Filter Bedeutung
x y z Auswahlbereich: Koordinaten für den Mittelpunkt des Auswahlbereiches bei Angabe eines Radius bzw. für eine Ecke bei Angabe eines quaderförmigen Bereichs. Für jede Koordinate, die weggelassen wird, wird die entsprechende Koordinate der Befehlsquelle verwendet, d. h. ohne Angabe einer einzigen Koordinate ist die Befehlsquelle der Mittelpunkt bzw. die Ecke des Auswahlbereiches. Negative Koordinaten und Kommazahlen sind möglich, aber keine relativen Koordinaten, wie x=~7. Wird die Nachkommastelle weggelassen, wird automatisch ".0" angenommen, was in der unteren nordwestlichen Ecke eines Blockes liegt.
distance Auswahlbereich: Radius in Blöcken um den Mittelpunkt des Auswahlbereiches. Bei einem einzelnen Wert werden nur Ziele ausgewählt, die genau auf dem Radius liegen. Ein Wertebereich wird mit zwei Punkten angegeben, z. B. 5..7 für "zwischen 5 und 7 inklusive". Auch möglich ist z. B. ..7 für "7 und kleiner" oder z. B. 5.. für "5 und größer". Der Radius ist kugelförmig. Ein Objekt wird gefunden, wenn sich das Zentrum seiner Füße im Auswahlbereich befindet, der Kopf wird nicht geprüft. Wird der Radius weggelassen, wird die ganze Welt einbezogen. Kommazahlen sind möglich. Beispiele:

@a[distance=..15.5]

Alle Spieler, deren Zentrum in einem kugelförmigen Bereich mit dem Radius 15,5 um die Befehlsquelle als Mittelpunkt liegt.

@a[distance=..40, x=100, y=60, z=-80]

Alle Spieler, deren Zentrum in einem kugelförmigen Bereich mit dem Radius 40 um den Mittelpunkt (100, 60, -80) liegt.

/summon minecart 0.0 56.0 0.0
@e[x=0.5, y=56.0, z=0.5, distance=..0.5]

Eine Lore, deren quadratische Hitbox 0,98 Blöcke groß ist, wird an der Position (0, 56, 0) erzeugt. Wenn der Mittelpunkt des Auswahlbereiches bei (0.5, 56, 0.5) liegt und der Radius 0.5 beträgt, wird das Zentrum der Lore nicht gefunden, weil es außerhalb des kreisförmigen Radius liegt. Erst ein Radius, der größer √22 ist (z.B. 0.7071068), lässt das Zentrum der Lore innerhalb des Radius liegen.
dx dy dz Auswahlbereich: Statt Angabe eines Radius kann auch die Ausdehnung (engl. dimension) eines Quaders angegeben werden. Die Position x y z beschreibt dabei einen Eckpunkt des Quaders. Der diagonal gegenüberliegende andere Eckpunkt wird nicht direkt angegeben, sondern ergibt sich aus Addition der Werte dx dy dz. Negative Werte und Kommazahlen sind möglich. Werden ein oder zwei Werte weggelassen, werden sie mit 0 angenommen. Werden dagegen alle drei Werte weggelassen, ist der Auswahlbereich die ganze Welt. Im Gegensatz zum kugelförmigen Bereich wird beim quaderförmigen Bereich ein Objekt gefunden, sobald sich ein Teil seiner Hitbox im Auswahlbereich befindet. Man kann dx dy dz mit einem Radius distance kombinieren, wobei der entstandene Auswahlbereich dann der Raum ist, den beide Angaben einschließen. Beispiele:

@a[x=100, y=60, z=-80, dx=0, dy=0, dz=0]

Alle Spieler, deren Hitbox den Punkt (100, 60, -80) enthält.

@a[x=100, y=60, z=-80, dx=4, dy=2, dz=5]

Alle Spieler, deren Hitbox den 4×2×5-Quader schneidet, der durch die diagonalen Eckpunkte (100, 60, -80) und (104, 62, -75) beschrieben wird.

/summon minecart 0.0 56.0 0.0
@e[x=0.5, y=56, z=0, dx=-0.01]

Eine Lore, deren quadratische Hitbox 0,98 Blöcke groß ist, wird an der Position (0, 56, 0) erzeugt. Der Rand der Hitbox bei (0.49, 56, 0) liegt genau auf dem Rand des Auswahlbereiches, daher wird die Lore gefunden.
limit Auswahlmenge: Wenn sich weniger als limit Ziele im Auswahlbereich befinden, hat dieser Filter keine Auswirkung. Ansonsten werden nur die limit Spieler ausgewählt, die dem Mittelpunkt des Auswahlbereiches am nächsten sind bzw. bei sort=furthest die limit Spieler, die vom Mittelpunkt am weitesten entfernt sind. Beispiele:

@p[limit=10, distance=..5, x=100, y=60, z=-80]

Die 10 nächsten Spieler (@p) in einem Radius von 5 Blöcken um den Mittelpunkt (100, 60, -80).

@a[limit=2, sort=furthest, x=0, y=64, z=0]

Die zwei weitesten Spieler vom Mittelpunkt (0, 64, 0) aus gesehen.

@p[limit=5, distance=..10]

Die fünf nächsten Spieler in einem Radius von 10 Blöcken um die Befehlsquelle.
sort Auswahlmenge: Die Sortierung in Verbindung mit einem limit schränkt die Auswahlmenge entsprechend ein: nearest (die Naheliegendsten), furthest (die Entferntesten), random (zufällig Ausgewählte) und arbitrary (unsortiert). Der Selektor @p enthält als Standardsortierung sort=nearest, der Selektor @r enthält als Standardsortierung sort=random und die Selektoren @a und @e enthalten als Standardsortierung sort=arbitrary.
gamemode Zieleigenschaft: Spielmodus survival = Überlebensmodus, creative = Kreativmodus, adventure = Abenteuer-Modus, spectator = Zuschauermodus. Verneinungen sind mit ! möglich. Mehrfachnennung ist nur mit Verneinung möglich. Beispiele:

@a[gamemode=creative]

Alle Spieler im Kreativmodus.

@a[gamemode=!creative, gamemode=!spectator]

Alle Spieler, die sich nicht im Kreativmodus und Zuschauermodus befinden.
level Zieleigenschaft: Erfahrungslevel. Bei einem einzelnen Wert werden nur Ziele ausgewählt, die genau dieses Level haben. Ein Wertebereich wird mit zwei Punkten angegeben, siehe distance. Beispiel:

@p[limit=3, gamemode=spectator, distance=2..10, x=1, y=70, z=26, level=3..25]

Die nächsten drei Spieler im Zuschauermodus in einem Radius von 2-10 Blöcken um (1, 70, 26), die einen Erfahrungslevel zwischen 3 und 25 haben.
x_rotation Zieleigenschaft: Kopfneigungswinkel. Sinnvolle Werte liegen zwischen -90 (senkrecht nach oben) über 0 (waagerecht) bis 90 (senkrecht nach unten). Kommazahlen sind möglich. Bei einem einzelnen Wert werden nur Ziele ausgewählt, die genau diesen Kopfneigungswinkel haben. Ein Wertebereich wird mit zwei Punkten angegeben, siehe distance.

Objekte, die ihre Kopfneigung nicht in der Rotation-Eigenschaft speichern, wie zum Beispiel Rüstungsständer, werden mit 0 ausgewählt. Der eigene Kopfneigungswinkel kann über den Debug-Bildschirm bei "Facing" abgelesen werden. In Verbindung mit anderen Filtern kann z.B. ein Spieler ausgewählt werden, der an einer ganz bestimmten Position steht und dabei einen bestimmten Gegenstand anschaut (indem er in eine bestimmte Richtung schaut).

y_rotation Zieleigenschaft: Blickrichtungswinkel. Sinnvolle Werte liegen zwischen -180 (Norden) über -90 (Osten), 0 (Süden), 90 (Westen) bis 180 (Norden). Kommazahlen sind möglich. Bei einem einzelnen Wert werden nur Ziele ausgewählt, die genau diesen Blickrichtungswinkel haben. Ein Wertebereich wird mit zwei Punkten angegeben, siehe distance.

Der eigene Blickrichtungswinkel kann über den Debug-Bildschirm bei "Facing" abgelesen werden. In Verbindung mit anderen Zielauswahlfiltern kann z.B. ein Spieler ausgewählt werden, der an einer ganz bestimmten Position steht und dabei einen bestimmten Gegenstand anschaut (indem er in eine bestimmte Richtung schaut). Beispiel:

@a[x=1, y=70, z=26, dx=1, dz=1, y_rotation=102..103, x_rotation=-40..-39]

Alle Spieler die im 1×1-Block großen Bereich zwischen (1, 70, 26) und (2, 70, 27) stehen, nach Westen schauen (im Winkel zwischen 102 und 103 Grad) und ihren Kopf schräg nach oben neigen (im Winkel -40 bis -39 Grad).
scores={} Zieleigenschaft: Ein oder mehrere Punktestände von Anzeigetafel-Zielen. Jeder Punktstand wird innerhalb der geschweiften Klammern mit seinem internem Namen und einem Wert angegeben, wobei auch Wertebereiche möglich sind, die mit zwei Punkten angegeben werden, siehe distance. Beispiele:

@a[scores={Bonus=..50, Schatz=5}].

Alle Spieler, die bis zu 50 Bonuspunkte und Schatz Nr. 5 gefunden haben.

@a[scores={Laufen=1.., Schleichen=1..}]

Alle Spieler, die mindestens ein Mal gelaufen und geschlichen sind.
team Zieleigenschaft: Mitgliedschaft in einem Anzeigetafel-Team. Es wird der interne Name des Teams abgefragt. Verneinungen sind mit ! möglich. Mehrfachnennung ist nur mit Verneinung möglich. Bei keiner Angabe eines Team-Namen sind die Spieler betroffen, die keinem Team angehören. Beispiele:

@a[team=]

Alle Spieler, die zu keinem Team gehören.

@a[team=!]

Alle Spieler, die zu irgendeinem Team gehören.

@a[team=Crafter]

Alle Spieler, die zum Team "Crafter" gehören.

@a[team=!Crafter, team=!Miner]

Alle Spieler, die weder zum Team "Crafter" noch zum Team "Miner" gehören.
name Zieleigenschaft: Name des Spielers oder der Kreatur. Verneinungen sind mit ! möglich. Mehrfachnennung ist nur mit Verneinung möglich. Namen mit Leerzeichen werden in Anführungszeichen geschrieben. Beispiele:

@a[name=oyo123, level=30..]

Alle Spieler mit dem Namen oyo123 und einem Erfahrungslevel von mindestens 30. Der Befehl ist erfolgreich, sobald oyo123 ein Erfahrungslevel von mindestens 30 erreicht hat.

@a[name=!yoyo, name=!anna, name=!bibi]

Alle Spieler außer yoyo, anna und bibi.
type Zieleigenschaft: Objekt-ID des Ziels. Verneinungen sind mit ! möglich. Mehrfachnennung ist nur mit Verneinung möglich. Für die Berücksichtigung von Spielern gibt es die spezielle ID player. Beispiele:

@e[limit=5, type=creeper, sort=nearest]

Die fünf Creeper, die der Befehlsquelle am nächsten sind.

@e[distance=..10, type=!player]

Alle Objekte in einem Umkreis von 10 Blöcken um die Befehlsquelle, nicht jedoch Spieler in diesem Bereich.

@e[distance=..30, type=!cow, type=!chicken, type=!sheep]

Alle Objekte in einem Umkreis von 30 Blöcken um die Befehlsquelle, die weder Kuh, Huhn noch Schaf sind.
tag Zieleigenschaft: Ein Objekt kann mit einem oder mehreren Freitext-Etiketten versehen werden, die man filtern kann, um das Objekt auszuwählen. Verneinungen sind mit ! möglich. Mehrfachnennung ist mit und ohne Verneinung möglich. Beispiele:

/summon zombie ~ ~ ~ {Tags:[Schurke, Halunke]}
@e[tag=Halunke]

Ein Zombie mit den Etiketten "Schurke" und "Halunke" wird erzeugt. Wenn alle Objekte mit dem Etikett "Halunke" ausgewählt werden, ist dieser Zombie mit dabei.

@e[tag=Halunke, tag=!Schurke]

Alle Objekte, die das Etikett "Halunke", aber nicht das Etikett "Schurke" tragen. Der Zombie ist nicht mit dabei.
nbt={} Zieleigenschaft: NBT-Daten werden innerhalb von geschweiften Klammern abgefragt. Verneinungen sind mit ! möglich. Mehrfachnennung des Filters ist mit und ohne Verneinung möglich. Achtung: Optionale NBT-Eigenschaften kann man nur mit der Verneinung abfragen, da es sein kann, dass einige oder alle Objekte die Eigenschaften nicht besitzen. Zur genauen Schreibweise einer NBT-Eigenschaft oder eines NBT-Wertes (in SNBT werden Zahlen mit Buchstaben gekennzeichnet) kann der Befehl /data Auskunft geben. Beispiele:

@a[nbt={Dimension:-1}]

Alle Spieler, die sich im Nether befinden.

@a[nbt=!{Dimension:-1}]

Alle Spieler, die sich nicht im Nether (also in der Oberwelt oder im Ende) befinden.

@a[nbt=!{Dimension:-1}, nbt={OnGround=false}]

Alle Spieler, die sich nicht im Nether befinden und fliegen.

@e[nbt={Dimension:0, Health:20.0f}]

Alle Objekte in der Oberwelt, die 20 Lebenspunkte haben.

@e[type=boat, nbt={Passengers:[ {id:"minecraft:pig"} ]}]

Alle Boote, in denen ein Schwein sitzt.

@e[nbt={Silent:false}]

Gesucht sind alle Objekte, die Geräusche machen, aber es wird keines gefunden, weil die Silent-Eigenschaft optional ist und ein Objekt sie nur hat, wenn sie true ist.

@e[nbt=!{Silent:true}]

Alle Objekte, die Geräusche machen.
advancements={} Zieleigenschaft: Fortschritte werden innerhalb von geschweiften Klammern abgefragt. Sie können mit true oder false bestimmt werden. Beispiele:

@a[advancements={adventure/trade=true}]

Alle Spieler, die den Fortschritt "Was für ein Geschäft!" erreicht haben.

@a[advancements={adventure/trade=true, end/elytra=false}]

Alle Spieler, die den Fortschritt "Was für ein Geschäft!", aber nicht "Hinterm Horizont geht's weiter" erreicht haben.
Weitere Beispiele mit Zielauswahlen siehe: Anleitungen/Befehle mit Zielauswahl

NBT-Daten[Bearbeiten]

Mit dem Parameter <nbt>, den einige Befehle enthalten, steht ein sehr mächtiges Werkzeug zur Verfügung. Damit kann die umfangreiche Datenstruktur von Minecraft genutzt werden. Diese wird zur Verwaltung aller Spielelemente und beim Speichern der Welt verwendet. Die Datenstruktur von Minecraft ist baumartig aufgebaut nach dem sogenannten NBT-Format. Bei einigen Befehlen können Teile dieser Datenstruktur als Parameter in Form von Stringified NBT (SNBT) eingegeben werden.

Anwendung[Bearbeiten]

Beispiel für einen Datenbaum

Bei der Eingabe von SNBT muss man sehr genau sein, sonst misslingt der Befehl. Dazu kann man wie folgt vorgehen:

1. Feststellung der richtigen Daten
Die NBT-Daten eines Gegenstandes unterscheiden sich beispielsweise von denen einer Kreatur. Daher muss man zuerst wissen, was man mit dem Befehl ansprechen will. Daraus ergeben sich die zugehörigen NBT-Daten:

2. Analyse der Baumstruktur
Wenn man die richtigen Daten festgestellt hat, schaut man sich im entsprechenden Artikel die Baumstruktur der Daten an. Beispiel: ein Banner hat folgende Blockobjektdaten:


  • Patterns:
    Liste der Muster

    • Ein Muster

      • Color:
        Musterfarbe

      • Pattern:
        Musterart

Die Baumstruktur beginnt hier mit der Eigenschaft Patterns. Das ist eine Liste, wie man an dem Symbol erkennt, über das man auch mit der Maus fahren kann. Die Symbole sind im Artikel NBT-Format erklärt. Die Datentypen List und Compound sind sozusagen Behälter für weitere Eigenschaften. Sie bedeuten eine Verzweigung des Datenbaumes in viele Äste. Im Artikel wird aber immer nur ein Exemplar der Verzweigung genannt. Für das Banner bedeutet das: Die Patterns-Liste kann viele Muster enthalten. Jedes Muster hat dann zwei weitere Verzweigungen bzw. Eigenschaften: Color und Pattern.

3. Übertragung der Baumstruktur in SNBT
Zum Aufschreiben der Baumstruktur wird in Minecraft SNBT (Stringified NBT) verwendet. Dieses Format hat bestimmte Regeln, an die man sich genau halten muss. Verzweigungen der Baumstruktur werden durch geschweifte bzw. eckige Klammern dargestellt, wobei geschweifte beim Datentyp Compound anzuwenden sind, eckige beim Datentyp List. Details siehe den SNBT-Artikel. Für ein Banner mit zwei Mustern sieht die Baumstruktur in SNBT so aus:

{
  Patterns:
  [
    {
      Color:Wert,
      Pattern:Wert
    },
    {
      Color:Wert,
      Pattern:Wert
    }
  ]
}

4. Einsetzen der Werte
Jeder Wert ist von einem bestimmten Datentyp. Texte sind vom Datentyp String, Zahlen können Byte, Short, Int, Long, Float oder Double sein. Das erkennt man am Symbol des Wertes. Beispielsweise hat beim Banner die Color-Eigenschaft ein "I" im Symbol, ist also von Datentyp Int. Das sieht man auch, wenn man mit der Maus über das Symbol fährt. Je nach Datentyp muss man nun die richtige SNBT-Schreibweise anwenden. Bei Zahlen wird dazu meist ein Buchstabe angehängt außer beim Datentyp Int. Details siehe den SNBT-Artikel. Für ein Banner mit zwei weißen Streifen links und rechts sieht das so aus:

{
  Patterns:
  [
    {
      Color:15,
      Pattern:ls
    },
    {
      Color:15,
      Pattern:rs
    }
  ]
}

5. Einsetzen in den Befehl
Man kann alle NBT-Daten in eine Zeile schreiben:

setblock ~ ~ ~ yellow_banner{Patterns:[{Color:15,Pattern:ls}, {Color:15,Pattern:rs}]}

Bei umfangreichen oder verschachtelten NBT-Daten empfiehlt sich die strukturierte Schreibweise, die man direkt in einen Befehlsblock kopieren kann. Die Leerzeichen und Einrückungen stören Minecraft nicht bei der Durchführung des Befehls:

/setblock ~ ~ ~ yellow_banner{
  Patterns:
  [
    {
      Color:15,
      Pattern:ls
    },
    {
      Color:15,
      Pattern:rs
    }
  ]
}

6. Fehlersuche
Wenn der Befehl nicht erfolgreich durchgeführt wurde, gibt Minecraft eine mehr oder weniger hilfreiche Fehlermeldung aus. Nun gibt man den Befehl in extrem verkürzter Form ein, testet dies und vervollständigt ihn nach und nach, bis man die fehlerhafte Stelle eingrenzen und korrigieren kann. Wenn man den Fehler trotzdem nicht findet, kann man nach Beispielen dieses Befehls googeln. Beispiel:

/setblock ~ ~ ~ yellow_banner
/setblock ~ ~ ~ yellow_banner{Patterns:[{Color:15,Pattern:ls}]}
/setblock ~ ~ ~ yellow_banner{Patterns:[{Color:15,Pattern:ls}, {Color:15,Pattern:rs}]}

NBT-Daten für die Befehle[Bearbeiten]

Befehl Beispiel mit NBT-Daten NBT-Daten
/give /give @p leather_helmet{display:{color:6591981} }
Gibt eine Lederkappe in der Farbe kornblumenblau
Gegenstandsdaten
/clear /clear @p leather_helmet{display:{color:6591981} } 1
Löscht eine Lederkappe in der Farbe kornblumenblau
Gegenstandsdaten
/replaceitem /replaceitem entity @p armor.head player_head{SkullOwner:"MHF_Chicken"}
Setzt dem Spieler einen Hühnerkopf auf
Gegenstandsdaten
/setblock /setblock ~ ~ ~ sign{Text1:"{\"text\":\"Willkommen\"}"}
stellt an der aktuellen Position ein Schild auf mit dem Text "Willkommen" in Zeile 1
Blockobjektdaten
/fill /fill ~ ~ ~ ~1 ~ ~1 sign{Text1:"{\"text\":\"Willkommen\"}"}
Stellt an der aktuellen Position 2×2 Schilder auf mit dem Text "Willkommen" in Zeile 1
Blockobjektdaten
/data merge block /data merge block ~ ~ ~ {Text1:"{\"text\":\"Wiki\"}"}
Ändert an der aktuellen Position den Text des Schildes in Zeile 1 auf "Wiki"
Blockobjektdaten
/execute if block /execute if block ~ ~ ~ sign{Text1:"{\"text\":\"Wiki\"}"} run say Schild gefunden
Prüft, ob an der aktuellen Position ein Schild steht mit dem Text "Wiki" in Zeile 1
Blockobjektdaten
/summon /summon llama ~ ~ ~ {DecorItem: {id:blue_carpet, Count:1} }
Erzeugt ein Lama mit einem blauen Teppich als Sattel
Objektdaten
Kreaturdaten
/data merge entity /execute as @e[type=pig, distance=..5] run data merge entity @s {Saddle:true}
Setzt allen Schweinen im Umkreis von 5 Blöcken einen Sattel auf
Objektdaten
Kreaturdaten
/execute if entity /execute if entity @a[nbt={OnGround:false}] run say Flieger gefunden
Prüft alle Spieler, ob einer fliegt
Objektdaten
Kreaturdaten
Spielerdaten

Hinweise[Bearbeiten]

Durch das Einsetzen von Werten, die normalerweise nicht vom Programm verwendet werden, können Effekte erzielt werden, die nicht immer sinnvoll sind. Im schlimmsten Fall kann sogar das Spiel zum Absturz gebracht werden. Daher empfiehlt es sich, neue Werte und Kombinationen in einer Testwelt auszuprobieren, bevor man sie einsetzt.

Es können auch nicht alle Eigenschaften verändert werden. Bei einigen wird die Änderung vom Programm ignoriert (z.B. Zombiepferde mit anderer Fellfarbe). Eigenschaften, die nicht sichtbar sind (z.B. Gesundheitspunkte), kann man nur mit einem Programm wie dem "NBT-Explorer" überprüfen. In diesem Fall empfiehlt sich der Test in einer Welt vom Typ Flachland (d. h. ohne Höhlen) in Chunk 0/0, den man mit dem NBT-Explorer leicht finden kann (er liegt in der Region-Datei r.0.0.mca).

Wenn ein Befehl länger als 256 Zeichen ist, kann man ihn nicht mehr in der Chat-Konsole, sondern nur noch in einem Befehlsblock verwenden. Bei längeren Befehlen empfiehlt sich ein strukturierter Aufbau. Der Befehl kann auch in dieser strukturierten Form in einen Befehlsblock kopiert werden, es ist nicht notwendig, die Leerzeichen und Zeilenumbrüche zu entfernen.

Beispiel[Bearbeiten]

Eine "Hexenkönigin"
/summon horse ~ ~ ~
 {
   Tame:1,
   Variant:3,
   ArmorItem:
   {
     id:golden_horse_armor,
     Count:1
   },
   Passengers:
   [
     {
       id:witch,
       HandItems:
       [
         {
           id:blaze_rod,
           Count:1
         }
       ]
     }
   ]
 }

Der Befehl erzeugt ein Pferd mit NBT-Daten. Das Pferd muss zahm sein (Tame:1), sonst wirft es die Hexe gleich wieder ab. Es hat ein braunes Fell (Variant:3) und trägt eine Goldrüstung (id:golden_horse_armor). Reiter auf dem Pferd (Passengers) ist eine Hexe (id:witch), die eine Lohenrute (id:blaze_rod) in der Hand hält. Die HandItems-Eigenschaft enthält immer zwei Gegenstände. Wird nur der erste angegeben, wird der zweite als leer angenommen.

Viele Beispiele mit NBT-Daten siehe: Anleitungen/Befehle mit NBT

Funktionen[Bearbeiten]

Funktionen sind eine Liste von Befehlen, die in einer mcfunction-Datei hinterlegt sind, die mit dem Befehl /function aufgerufen wird.

Technik[Bearbeiten]

Galerie[Bearbeiten]

Geschichte[Bearbeiten]

Einzelnachweise[Bearbeiten]