Minecraft ist eine der besten Möglichkeiten, jungen und neuen Leuten das Programmieren näherzubringen.
Minecraft ist eine der besten Möglichkeiten, jungen und neuen Leuten das Programmieren näherzubringen. Command Blocks sind leicht zu erlernen und zu verwenden, und mit Minecraft-Mods und Bukkit-Plugins steht die Java-Programmierung vor der Tür. Auch für erfahrene Programmierer ist es ein sehr unterhaltsamer Ort zum Tüfteln.
Was sind Command Blocks und warum sollte ich sie verwenden?
Command Blocks sind eine Redstone-Komponente, die bei eingeschalteter Stromversorgung Konsolenbefehle ausführt. Konsolenbefehle können vom Chatfenster aus ausgeführt werden, indem man ihnen einen Schrägstrich „/“ voranstellt. Befehle werden verwendet, um die Spielwelt auf eine Weise zu verändern, die manuell nicht möglich ist, und verleihen Minecraft bei korrekter Verwendung in Command Blocks seine eigene Art von Pseudoprogrammiersprache. Code besteht aus zwei Dingen: Logik und Ausführung, und die meisten Programmiersprachen erfordern, dass beides als Text geschrieben wird. Die Codierung in Minecraft geht einen anderen Weg; die Logik und Struktur des Programms wird dadurch bestimmt, wo die Blöcke platziert und wie sie verdrahtet sind, was bedeutet, dass Sie über Ihre Welt fliegen und die verschiedenen Teile Ihres Programms Block für Block angeordnet sehen können.
Ok, also wie fange ich an?
In dieser Anleitung werden die neuen Command Blocks der Version 1.9 verwendet. Sie funktioniert auch in 1.8, erfordert aber möglicherweise etwas mehr Fachwissen.
Öffnen Sie eine neue Minecraft-Welt (Superflat funktioniert am besten), stellen Sie sicher, dass Sie sich im Kreativmodus befinden, und drücken Sie die Taste „/“. Dies ist das Befehlsfenster, das dasselbe ist wie das Chatfenster, außer dass es mit einem ‚ / ‚ beginnt und alles, was mit dem Schrägstrich beginnt, ein Befehl ist. Der erste Befehl, den Sie ausführen können, ist
Lassen Sie uns das aufschlüsseln. Der Befehl „/give“ legt Gegenstände in das Inventar eines Spielers und hat zwei Argumente: den Spieler und den zu gebenden Gegenstand. „@p“ ist ein Zielselektor. Der Selektor „@p“ wählt den nächsten Spieler aus. Alternativ können Sie auch Ihren Minecraft-Benutzernamen verwenden, aber wenn Sie einen Befehl von der Konsole aus 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“ zielt auf 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. Platzieren Sie ihn irgendwo auf dem Boden, um zu beginnen.
Sie können sehen, dass der Befehlsblock in die Richtung zeigt, in die Sie ihn platzieren, ähnlich wie Trichter oder Öfen. Dies wird später wichtig sein.
Klicken Sie mit der rechten Maustaste auf den Block (oder verwenden Sie die Taste, die Sie auch für den Zugriff auf Werkbänke und Öfen verwenden), und Sie sehen die grafische Benutzeroberfläche des Befehlsblocks.
Das scheint zunächst ein wenig beängstigend, aber keine Sorge, alle diese Schaltflächen haben eine Funktion. Die Schaltfläche mit der Aufschrift „Impuls“ ändert den Typ des Befehlsblocks. Es gibt drei verschiedene Arten von Command Blocks:
- Impulse, die Befehle an der steigenden Flanke des Redstone-Stroms ausführen. Das bedeutet, dass sie, wenn sie mit Strom versorgt werden, ihren Befehl einmal ausführen und dann anhalten, selbst wenn sie weiterhin mit Strom versorgt werden. Dies ist die Standardeinstellung und die einzige, die in 1.8 verfügbar ist.
- Wiederholen, wodurch Befehle bei jedem Tick ausgeführt werden, bei dem sie aktiviert werden. Ein Tick ist wie ein Frame, und mehrere Befehle können in einem einzigen Tick ausgeführt werden, bis zu 20 Mal pro Sekunde.
- Ketten, die nur ausgeführt werden, wenn der darauf zeigende Befehlsblock seinen Befehl ausgeführt hat. Diese werden in der Reihenfolge nacheinander in einem einzigen Tick ausgeführt, daher der Name „Kette“.
Die Schaltfläche „Bedingungslos“ 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 verursacht hat.
Die Schaltfläche mit der Aufschrift „Redstone erforderlich“ 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 einfach davon aus, dass dies der Fall ist. Diese Option sollte nicht mit Impulse-Command Blocks verwendet werden, da sie diese nutzlos macht.
Lassen Sie uns eine Kette erstellen, unser erstes „Skript“. Platzieren Sie einen oder zwei KettenCommand Blocks gegenüber dem ersten Impulsbefehlsblock, wie folgt:
Achtet darauf, dass ihr die Kettenblöcke auf „Immer aktiv“ stellt. Sonst müssten wir Redstoneblöcke oder Strom ablegen, was unnötig Platz wegnimmt. Platziert am Anfang der Kette einen Knopf auf dem Impulsbefehlsblock und drückt ihn.
Es passiert nichts. Das 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 Basisbefehl ein
Beachten Sie, dass wir in Command Blocks keinen Schrägstrich benötigen. Sie können einen verwenden, wenn Sie möchten, aber das ist nicht erforderlich. Der Befehl „/say“ nimmt ein Argument, Text, und sagt es aus der Sicht desjenigen, der es ausführt. Wenn Sie es ausführen, wird es wie im normalen Chat als „<Benutzername>-Nachricht“ angezeigt. Wenn es von einem Befehlsblock aus ausgeführt wird, wird es als „[@]-Nachricht“ angezeigt. Alternativ gibt es „/tell“, das ein Spielerargument annimmt, und „/tellraw“, das wie „/tell“ ist, außer dass es reines JSON anstelle von Text annimmt.
Sie können die Ketten Command Blocks füllen, um weitere Dinge in den Chat zu schreiben. Sie werden der Reihe nach und ohne Verzögerung im selben Tick ausgeführt. Wenn Sie sie mit Verzögerung ausführen möchten, müssen Sie sie mit Redstone-Repeatern einrichten. Neben „/say“ gibt es noch andere grundlegende Befehle, die weitere Dinge tun, wie „/give“, das Gegenstände gibt, „/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 „@p“-Zielselektoren sind tatsächlich viel mächtiger, als sie auf den ersten Blick erscheinen. Wenn wir beispielsweise alle Entitäten als Ziel haben möchten, würden wir „@e“ verwenden, aber wenn wir nur Zombies als Ziel haben möchten, würden wir verwenden
Beachten Sie die Klammern nach „@e“. Innerhalb dieser Klammern befinden sich Zielauswahlargumente, eine vollständige Liste davon finden Sie im Minecraft Wiki . Das Argument „Typ“ wählt nur Entitäten eines bestimmten Typs aus, in diesem Fall „Zombie“. Wenn wir alle Zombies innerhalb von 10 Blöcken des Befehlsblocks anvisieren möchten, würden wir verwenden
Wobei „r“ ein Radiusargument ist. Sie können unter anderem auch nach Standort, Name, Team und Punktzahl zielen.
Befehle verketten
Lassen Sie uns einen weiteren Befehl einführen, der nicht wie die anderen ist. Der Befehl ist „/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
X, Y und Z sind die Koordinaten, von denen aus der Befehl ausgeführt wird. Bei den meisten Befehlen spielt dies keine Rolle, ist aber sehr wichtig, 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, der durch „~ ~ ~“ gekennzeichnet ist. Wenn wir also beispielsweise „/say“ ausführen möchten, als ob ein Dorfbewohner sprechen würde, können wir den Befehl folgendermaßen einrichten:
Dieser Befehl sorgt dafür, dass eine Nachricht an alle Dorfbewohner verschickt wird. Das ist nicht optimal, wenn wir mehr als eine Person oder mehr als einen Dorfbewohner haben, also formatieren wir den Befehl neu:
Dies ist viel komplexer als das erste und beinhaltet die Verkettung von zwei „/execute“-Befehlen. Das erste „/execute“ des Befehls wird bei jedem Spieler ausgeführt, dann sucht das zweite nach genau einem Dorfbewohner in der Nähe und lässt diesen Dorfbewohner dann dem nächsten Spieler „Hey“ sagen. Dadurch wird sichergestellt, dass nur ein Dorfbewohner pro Person spricht Windows 8.
Die Syntax lernen
Es gibt sicherlich viele Befehle in Minecraft, die jeweils ihre eigene Syntax haben. Die Hilfemenüs für jeden Befehl sagen Ihnen normalerweise schnell, welche Argumente der Befehl benötigt, und das Minecraft-Wiki enthält eine detaillierte Liste dessen, was jeder Befehl tut. 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, also ist das Herumspielen mit den Befehlen Teil des Lernprozesses.