Teilen

Teilen

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

Befehlsblock

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche
Befehlsblock
Adventure Mode Control Block.png
Befehlsblock
Typ

Solider Block

Schwerkraft

Nein

Transparenz

Nein

Leuchtend

Nein

Explosionswiderstand

18,000,000

Härte

-1

Werkzeug

Keins

Farmbar

Nein

Stapelbar

Ja (64)

Verbrennbar

Nein

Drops

Sich selbst

Einführung

Vollversion 1.4 (12w32a)

Tile Entity ID

Control

Datenwert

command_block
dez: 137 hex: 89

Metadata

0

Der Befehlsblock ist ein Block der eingeführt wurde, um unter anderem den Abenteuermodus zu ergänzen. Er ermöglicht den Machern von Adventure Maps eine erweiterte Interaktion mit dem Spieler mithilfe von Befehlen. Wenn per Redstone aktiviert, kann ein im Block hinterlegter Befehl ausgeführt werden.

Der Befehlsblock ist nicht craftbar[1] und kann nur im Kreativmodus platziert werden. Er wird allerdings nicht im Kreativ-Inventar angezeigt, weshalb man ihn sich mit dem Befehl /give @p command_block geben muss.

Damit der Befehlsblock auf Mehrspieler-Servern funktioniert, muss in der Server.properties der Wert für die Zeile enable-command-block auf true gesetzt werden. Falls die Zeile nicht existiert, muss diese manuell eingefügt werden. Auch in Minecraft Realms kann die Benutzung von Befehlsblöcken über die Einstellungen ein- und ausgeschaltet werden.

Ein Befehlsblock kann nicht von einem Kolben verschoben werden, da er Tile Entities besitzt.

Befehle können auch ausgeführt werden von:


Befehlsblocklore


Schild


beschriebenes Buch

Verwendung[Bearbeiten]

Lupe.png Hauptartikel: Befehle

Der Befehlsblock kann Befehle ausführen, um z.B. die Tageszeit zu ändern, den Spieler zu einem bestimmten Punkt zu teleportieren, Gegenstände und Erfahrungskugeln an einen Spieler zu geben, Blöcke und Inventare zu verändern oder eine Nachricht an alle Spieler zu senden.

Lupe.png Hauptartikel: Komparator

Wenn ein Komparator mit seinem Eingang (die Seite mit den zwei Fackeln) neben einem Befehlsblock platziert wird, sendet der Komparator ein Signal aus, sobald der Befehlsblock einen Befehl erfolgreich ausgeführt hat. Dieses Signal kann man verwenden, um einen weiteren Befehlsblock zu aktivieren. So kann man eine ganze Befehlskette aufbauen. Die Signalstärke des Komparators ist von der Anzahl der vom Befehl betroffenen Spieler abhängig und muss daher ggf. mit einem direkt dahinter geschalteten Verstärker verstärkt werden.

Der Befehl /testfor kann im Befehlsblock verwendet werden und prüft eine bestimmte Bedingung, z.B. ob ein Spieler Erfahrungslevel 2 erreicht hat. Wie alle Befehle im Befehlsblock, so wird auch dieser nur ausgeführt, wenn der Befehlsblock aktiviert wird. Um die Bedingung laufend zu prüfen, verbindet man den Befehlsblock mit einem Taktgeber, der ihn ständig kurz aktiviert. Hier ein einfaches Beispiel, das aus einer Redstone-Fackel und einem Verstärker besteht:

Redstone-Schaltkreise EinfacherTaktgeberAnimation1.pngRedstone-Schaltkreise EinfacherTaktgeberAnimation2.png

Mithilfe eines Ambosses kann man dem Befehlsblock einen Namen geben. Dies ist insbesondere für Chat-Befehle sinnvoll, die ansonsten mit dem nichtssagenden Namen "@" ausgeführt werden, siehe z.B. den Befehl /tell.

Normalerweise gibt ein Befehlsblock sein Ergebnis in der Chat-Konsole bekannt. Wenn z.B. der Befehl /time set day ausgeführt wird, erscheint im Chat die Ergebnismeldung "[@: Zeit auf 1000 gesetzt]". Diese Meldung kann man mit dem Befehl /gamerule commandBlockOutput false ausschalten. Chat-Befehle funktionieren auch bei ausgeschalteter Ausgabe weiterhin.

Auch das Schreiben von Ergebnismeldungen in die Protokolldateien von Client und Server kann man ausschalten: Befehl /gamerule logAdminCommands false.

Wenn ein Befehl nicht korrekt in den Befehlsblock eingegeben wurde oder er grundsätzlich nicht für den Befehlsblock verwendet werden kann, wird der Befehl nicht ausgeführt. Im Befehlsblock gibt es eine Ausgabezeile, die das Ergebnis des letzten ausgeführten Befehls anzeigt, so dass man den Erfolg oder Misserfolg nachvollziehen kann. Mit dem kleinen Knopf rechts neben der Zeile kann man die Ausgabe ein- und ausschalten: O = ein, X = aus.

Mit dem Befehl /stats kann man das Ergebnis eines Befehls vom Befehlsblock direkt in einen Anzeigetafel-Punktestand schreiben lassen.

Manchmal ist es notwendig, das Ausgangssignal des Befehlsblockes zurückzusetzen. Beispiel: der Befehlsblock testet einen Anzeigetafel-Punktestand und liefert bei positivem Ergebnis ein Signal, das an einen zweiten Befehlsblock weitergeleitet wird. Wird der erste Befehlsblock erneut aktiviert (z.B. durch Knopfdruck oder einen Taktgeber) und ist das Testergebnis immer noch positiv, bleibt das Ausgangssignal leider unverändert bestehen, wodurch der zweite Befehlsblock nicht erneut ausgelöst wird. Das Zurücksetzen des Ausgangssignals erreicht man durch Neusetzen des ganzen Befehlsblocks: Das Ausgangssignal wird zusätzlich an einen Reset-Befehlsblock geleitet, der den Befehl /setblock enthält so den ersten Befehlsblock inkl. Inhalt neu setzt. Steht der erste Befehlsblock z.B. an der Position 100 64 30 und enthält den Befehl /testfor @p[score_punkte=20], dann enthält der Reset-Befehlsblock den Befehl /setblock 100 64 30 command_block 0 replace {Command:"/testfor @p[score_punkte=20]"}.

Beispiel[Bearbeiten]

Man stelle sich vor: In einer Adventure Map gibt es einen Lavasee mit einer kleinen Insel. Auf der Insel steht ein Pavillon mit einer Truhe voller Schätze. Vor dem See ist eine Säule mit einem Knopf und einem Schild mit dem Text "Hast du die Aufgabe erfüllt?". Die Aufgabe besteht darin, mindestens 1 Rose zu pflücken. Der Block vor dem Knopf hat die Koordinaten 100/80/-40, ein Block auf der Insel hat die Koordinaten 100/80/-60. Für die Aufgabe wurde ein Ziel in der Anzeigetafel erstellt mit dem Befehl /scoreboard objectives add Rosen dummy.

Wenn der Knopf gedrückt wird, wird ein verborgener Befehlsblock1 aktiviert, was seinen gespeicherten Befehl ausführt. Wenn das erfolgreich ist, sendet der direkt daneben platzierte Komparator1 ein Signal zu Befehlsblock2. Wenn dessen Befehl auch erfolgreich ist, sendet Komparator2 ein Signal. Damit ist die Bedingung für das Rosen-Ziel erreicht. Alle weiteren Befehlsblöcke dienen zur Belohnung und werden ohne weitere Abhängigkeiten voneinander gleichzeitig über ein langes Redstone-Kabel mit Abzweigungen und - je nach Kabellänge - Verstärkern aktiviert. So wird in diesem Beispiel folgende Befehlskette durchlaufen:

Befehl Bedeutung
/testfor @a[score_Rosen=0] Prüft ob irgend ein Spieler das Ziel Rosen bereits erreicht hat. Nur wenn alle Spieler 0 Punkte bei diesem Ziel haben, ist der Befehl erfolgreich und Komparator1 sendet ein Signal. Das bedeutet, dass sobald der erste Spieler das Rosenziel tatsächlich erreicht hat, das Drücken auf den Knopf keine Wirkung mehr haben wird. Man kann stattdessen auch den Knopf mit dem Befehl /setblock löschen, damit er kein zweites Mal gedrückt werden kann.
/clear @p[100,80,-40,3] double_plant 4 Entfernt alle Gegenstände mit der ID double_plant (große Blumen) und der Metadaten-ID 4 (Rosen) von dem Spieler, der der Position 100/80/-40 in einem Umkreis von 3 Blöcken am nächsten steht. Wenn dieser Spieler mindestens eine Rose in seinem Inventar hat, ist der Befehl erfolgreich und Komparator2 sendet ein Signal.
/scoreboard players set @p[100,80,-40,3] Rosen 1 Setzt für den Spieler am Knopf das Ziel Rosen auf 1. Damit kann der Knopf kein zweites Mal erfolgreich gedrückt werden.
/playsound random.anvil_land @a Spielt das Geräusch eines fallenden Ambosses für alle Spieler ab.
/time set 6000 Ändert die Tageszeit der Welt auf 12:00 Uhr mittags.
/weather clear 300 Stellt in der Welt den Niederschlag für 5 Minuten ab.
/say @p[100,80,-40,3] hat die Rosen-Aufgabe erfüllt! Sendet an alle Spieler die Nachricht, dass und von wem die Rosen-Aufgabe erfüllt wurde.
/xp 10 @p[100,80,-40,3] Gibt 10 Erfahrungspunkte an den Spieler.
/tp @p[100,80,-40,3] 100 82 -60 Teleportiert den Spieler vom Knopf zur Insel, wobei er als Effekt bei der Landung zwei Blöcke nach unten fällt.

(Hinweis: dies ist keine Liste beliebiger Beispiele, sondern ein zusammenhängendes, das oben im Text erklärt wird.
Eine Übersicht aller Befehle mit Beispielen gibt es hier.)

Trivia[Bearbeiten]

  • Baut man einen Redstoneschaltkreis, in dem mehrere Befehlsblöcke gleichzeitig aktiviert werden sollten, so wird nordsüdlich zuerst der nördliche, dann der südliche aktiviert. Macht man Gleiches ostwestlich, so wird zuerst ein westlicher, dann alle östlichen und dann die restlichen westlichen aktiviert.
  • Bis zur Vollversion 1.7 hieß der Befehlsblock Kommandoblock.

Galerie[Bearbeiten]

Einzelnachweise[Bearbeiten]

Geschichte[Bearbeiten]