Das Handbuch für Anfänger zu Befehlsblöcken in Minecraft

Minecraft ist eine der besten Möglichkeiten, um jungen und neuen Leuten das Codieren näher zu bringen. Befehlsblöcke sind einfach zu erlernen und zu verwenden, und die Java-Programmierung mit Minecraft-Mods und Bukkit-Plugins ist gleich um die Ecke. Es ist auch nur ein sehr lustiger Ort, an dem erfahrene Programmierer basteln können.

Was sind Befehlsblöcke und warum sollte ich sie verwenden?

Befehlsblöcke sind eine Redstone-Komponente, die Konsolenbefehle ausführt, wenn sie mit Strom versorgt werden. Konsolenbefehle können über das Chat-Fenster ausgeführt werden, indem Sie mit einem Schrägstrich '/' fortfahren. Befehle werden verwendet, um die Spielwelt auf eine Weise zu modifizieren, die von Hand nicht möglich ist, und geben Minecraft bei korrekter Verwendung in Befehlsblöcken eine eigene Pseudo-Programmiersprache. Code besteht aus zwei Dingen: Logik und Ausführung, und die meisten Programmiersprachen erfordern, dass beide in Text geschrieben sind. Die Minecraft-Codierung geht einen anderen Weg. Die Logik und Struktur des Programms hängt davon ab, wo die Blöcke platziert und wie sie verdrahtet sind. Dies bedeutet, dass Sie über Ihre Welt fliegen und die verschiedenen Teile Ihres Programms blockweise anzeigen können.

Ok, wie fange ich an?

Dieses Handbuch verwendet die neuen Befehlsblöcke in Version 1.9. Es wird in Version 1.8 funktionieren, erfordert jedoch möglicherweise etwas mehr Fachwissen.

Öffnen Sie eine neue Minecraft-Welt (Superflat funktioniert am besten), vergewissern Sie sich, dass Sie sich im Kreativmodus befinden, und drücken Sie die Taste „/“. Dies ist das Befehlsfenster, das mit dem Chat-Fenster identisch ist, außer dass Sie mit einem '/' beginnen und alles, was mit dem Schrägstrich beginnt, ein Befehl ist. Der erste Befehl, den Sie ausführen können, ist

Ich gebe @p minecraft: command_block

Lassen Sie uns das aufschlüsseln. Der Befehl "/ give" legt Gegenstände in ein Spielerinventar und hat zwei Argumente: den Spieler und den Gegenstand, den er geben soll. Das "@p" ist eine Zielauswahl. Der Selektor "@p" wählt den nächsten Spieler aus. Alternativ können Sie auch Ihren Minecraft-Benutzernamen verwenden. Wenn Sie jedoch einen Befehl über die Konsole ausführen, sind Sie immer der nächste Spieler. Die anderen Zielselektoren sind "@a" für alle Spieler, "@r" für einen zufälligen Spieler und "@e" für alle  Entitäten. Entitäten umfassen alles, was kein Block ist, wie Monster, Schneebälle, Tiere und Pfeile.

Der Befehl sollte erfolgreich ausgeführt werden und Ihnen einen neuen Block geben. Stellen Sie es irgendwo auf den Boden, um loszulegen.

Sie können sehen, dass der Befehlsblock in die Richtung zeigt, in die Sie ihn platzieren, ähnlich wie bei Trichtern oder Öfen. Dies wird später wichtig sein.

Klicken Sie mit der rechten Maustaste auf den Block (oder verwenden Sie eine beliebige Taste, um auf Handwerkstische und Öfen zuzugreifen), und Sie werden mit der GUI des Befehlsblocks begrüßt.

Es scheint zunächst ein wenig beängstigend, aber keine Sorge, all diese Tasten tun etwas. Die Schaltfläche „Impuls“ ändert den Typ des Befehlsblocks. Es gibt drei verschiedene Arten von Befehlsblöcken:

  • Impuls, der Befehle an der  ansteigenden Flanke des Redstone-Stroms ausführt. Dies bedeutet, dass sie bei eingeschalteter Stromversorgung ihren Befehl einmal ausführen und anhalten, auch wenn sie weiterhin mit Strom versorgt werden. Dies ist die Standardeinstellung und die einzige in 1.8
  • Wiederholen Sie diesen Vorgang, indem Sie Befehle bei jedem Tick ausführen, den sie mit Strom versorgen. Ein Tick ist wie ein Frame, und mehrere Befehle können bis zu 20 Mal pro Sekunde in einem Tick ausgeführt werden.
  • Kette, die nur ausgeführt wird, wenn der Befehlsblock, der darauf zeigt, seinen Befehl ausgeführt hat. Diese werden nacheinander in einem einzigen Häkchen ausgeführt, daher der Name "Kette".

Die Schaltfläche "Unbedingt" verhindert, dass der Befehlsblock prüft, ob der vorherige Block in der Kette erfolgreich ausgeführt wurde. Die andere Option, "Bedingt", wird nur ausgeführt, wenn der vorherige Block keine Fehler ausgelöst hat.

Die Schaltfläche "Needs Redstone" führt den Befehl nur aus, wenn der Befehlsblock mit Strom versorgt wird. Die andere Option, "Immer aktiv", verhindert, dass der Befehlsblock prüft, ob er mit Strom versorgt wird, und geht nur davon aus, dass dies der Fall ist. Diese Option sollte nicht mit Impulsbefehlsblöcken verwendet werden, da sie dadurch unbrauchbar werden.

Machen wir eine Kette, unser erstes 'Skript'. Legen Sie einen oder zwei Kettenbefehlsblöcke wie folgt in den ersten Impulsbefehlsblock:

Stellen Sie sicher, dass die Kettenblöcke auf "Immer aktiv" eingestellt sind. Andernfalls müssten wir Redstone-Blöcke oder Strom ablegen, was unnötigen Platz beansprucht. Platzieren Sie eine Taste am Impulsbefehlsblock am Anfang der Kette und drücken Sie sie.

Nichts wird passieren. Dies liegt daran, dass wir sie noch nicht mit Befehlen gefüllt haben! Klicken Sie mit der rechten Maustaste auf den Impulsblock, um ihn zu bearbeiten, und geben Sie einen grundlegenden Befehl ein

sag start

Beachten Sie, dass wir in Befehlsblöcken keinen Schrägstrich benötigen. Sie können eine verwenden, wenn Sie möchten, aber es ist nicht erforderlich. Der Befehl "/ say" verwendet ein Argument, den Text, und sagt es aus der Sicht desjenigen, der es ausführt. Wenn Sie es ausführen, wird es wie ein normaler Chat als "Nachricht" angezeigt. Wenn es von einem Befehlsblock ausgeführt wird, ist es "[@] message". Alternativ gibt es "/ tell", das ein Spielerargument akzeptiert, und "/ tellraw", das "/ tell" ähnelt, außer dass rohes JSON anstelle von Text verwendet wird.

Sie können die Kettenbefehlsblöcke füllen, um weitere Dinge zum Chatten zu schreiben. Sie werden unverzüglich im selben Tick ausgeführt. Wenn Sie sie verzögert ausführen möchten, müssen Sie sie mit Redstone-Repeatern einrichten. Neben "/ say" gibt es noch andere grundlegende Befehle, die mehr bewirken, wie "/ give", das Elemente enthält, "/ effect", das Trankeffekte anwendet, "/ setblock" und "/ fill", die Ihre Welt verändern , und viele andere. Eine große Datenbank mit Befehlen sowie andere hilfreiche Inhalte finden Sie im Minecraft-Wiki.

Zielselektoren

Die Zielselektoren „@p“ sind tatsächlich viel leistungsfähiger, als sie auf den ersten Blick erscheinen. Wenn wir zum Beispiel auf alle Entitäten abzielen wollten, würden wir "@e" verwenden, aber wenn wir nur auf Zombies zielen wollten, würden wir verwenden

@e [Typ = Zombie]

Beachten Sie die Klammern nach "@e". In diesen Klammern befinden sich Zielauswahlargumente , von denen eine vollständige Liste im Minecraft-Wiki zu finden ist. Das Argument "Typ" wählt nur Entitäten eines bestimmten Typs aus, wobei dieses "Zombie" ist. Wenn wir alle Zombies innerhalb von 10 Blöcken des Befehlsblocks anvisieren wollten, würden wir verwenden

@e [Typ = Zombie, r = 10]

Das "r" ist ein Radiusargument. Sie können unter anderem auch nach Standort, Name, Team und Punktzahl zielen.

Verkettungsbefehle

Lassen Sie uns einen anderen Befehl einführen, der nicht wie die anderen ist. Der Befehl lautet "/ execute". Dieser Befehl nimmt einen anderen Befehl als Eingabe und führt ihn aus der Sicht einer anderen Entität aus. Die Struktur von "/ execute" ist

/ Führen Sie den Befehl @target XYZ / aus

X, Y und Z sind Koordinaten, von denen aus der Befehl ausgeführt werden kann. Dies ist bei den meisten Befehlen nicht wichtig, spielt jedoch eine große Rolle, wenn Sie die  relative Positionierung verwenden. Eine relative Position beginnt mit „~“ und wird von einer positiven oder negativen Zahl gefolgt, die angibt, wie viele Blöcke vom Ursprung entfernt sind, was mit „~ ~ ~“ bezeichnet wird. Wenn wir zum Beispiel "/ say" ausführen möchten, als würde ein Dorfbewohner sprechen, können wir den Befehl wie folgt einrichten:

/ führe @e aus [type = Villager] ~ ~ ~ / sag Hey

Dieser Befehl bewirkt, dass von jedem Dorfbewohner eine Nachricht an alle gesendet wird. Dies ist nicht optimal, wenn wir mehr als eine Person oder mehr als einen Dorfbewohner haben. Formatieren Sie diesen Befehl neu:

/ führe @a ~ ~ ~ aus / führe @e aus [Typ = Dorfbewohner, c = 1] ~ ~ ~ / erzähle @p Hey

Dies ist viel komplexer als der erste und beinhaltet die Verkettung von zwei "/ execute" -Befehlen. Das erste "/ execute" des Befehls wird für jeden Spieler ausgeführt, das zweite sucht nach genau einem Dorfbewohner in der Nähe und lässt diesen Dorfbewohner dem nächstgelegenen Spieler "Hey" sagen. Dies stellt sicher, dass nur ein Dorfbewohner pro Person spricht.

Syntax lernen

Es gibt sicherlich viele Befehle in Minecraft, die jeweils ihre eigene Syntax haben. In den Hilfemenüs für jeden Befehl erfahren Sie normalerweise schnell, welche Argumente der Befehl benötigt, und das Minecraft-Wiki enthält eine detaillierte Liste der Aktionen der einzelnen Befehle. Es geht nicht so sehr darum, genau zu wissen, was jeder Befehl tut, sondern zu wissen, wie man sie zusammen verwendet. Minecraft ist schließlich ein Spiel, daher ist das Herumspielen mit den Befehlen Teil des Lernprozesses.