Haupt Streaming-Dienste Hacking Minecraft auf dem Raspberry Pi

Hacking Minecraft auf dem Raspberry Pi



Der Raspberry Pi 2 ist angesichts seines Preises unter 30 GBP ein überraschend leistungsfähiges Gerät. Es wird mit einer vorinstallierten Version von Minecraft sowie einer API geliefert, mit der Sie Code schreiben können, der in der virtuellen Welt ausgeführt werden soll. Sie tun dies in Python, das einfach zu erlernen ist. Die Kombination von Pi, Python und Minecraft bietet eine großartige Gelegenheit, die Möglichkeiten der Programmierung zu erkunden. Und der Nervenkitzel, ein Haus auf einer virtuellen Landschaft bauen zu sehen, ist auch nicht nur für Kinder.

So finden Sie den Geburtstag von jemandem online

Skripterstellung in Minecraft

Minecraft ist ein offenes Sandbox-Spiel, dem keine Handlungslinie folgen kann. Es wird manchmal als virtuelles Lego bezeichnet, da der Spieler mit den ihm zur Verfügung stehenden Blöcken jede Art von Struktur aufbauen kann. Die mit dem Raspberry Pi gelieferte Version verfügt über einen eingeschränkten Funktionsumfang, der für seine pädagogische Rolle geeignet ist. Sie müssen sich also keine Sorgen machen, dass Sie beispielsweise von Zombies verfolgt werden. Die Interaktion mit dieser Welt erfordert kein spezielles Setup, sondern nur eine aktuelle Version des Raspbian-Betriebssystems sowie eine Programmierumgebung. Ich würde mich für Geany entscheiden, das Sie installieren können, indem Sie LXTerminal öffnen und Folgendes eingeben:

sudo apt-get install geany

Beginnen wir mit der Erstellung eines Skripts zum Bauen eines Hauses vor dem Player - aber anstatt nur eines zu platzieren, werden wir es animieren. Wir werden auch verschiedene konfigurierbare Einstellungen einbauen, mit denen der Player mit verschiedenen Abmessungen und Materialien experimentieren kann. Dadurch wird das Programm auch modular aufgebaut, sodass es als Grundlage für die Erstellung anspruchsvollerer Wells verwendet werden kann.

Damit der Code funktioniert, laden Sie ihn in Geany, starten Sie Minecraft und erstellen Sie eine neue Welt. Drücken Sie die Tabulatortaste, um den Cursor aus dem Minecraft-Fenster zu lösen, und klicken Sie in Geany auf das Zahnradsymbol (oder drücken Sie F5), um das Skript zu starten. Sie sollten sehen, wie sich ein Haus magisch zusammenbaut. Wenn Sie dies nicht tun, drehen Sie sich um - es könnte hinter Ihnen liegen! Sie können das Skript in Aktion sehen Hier . Wie funktioniert das Skript? Nun, zuerst öffnet es einen Link zu Minecraft:

importiere mcpi.minecraft als minecraft, Zeit mc = minecraft.Minecraft.create ()

In Python ist es wichtig, auf Einrückungen zu achten, da Code auf diese Weise in Blöcke unterteilt wird. In diesem Fall sind beide Zeilen bündig mit dem linken Rand: Die erste Zeile importiert die Minecraft- und Time-Bibliotheken und die zweite erstellt ein Minecraft-Objekt, das wir durchgehend verwenden können. In den nächsten 25 Zeilen werden einige Variablen für die Blöcke festgelegt, die wir verwenden werden, damit wir sie beispielsweise als wood_planks und nicht anhand ihrer Block-ID (in diesem Fall 5) bezeichnen können. Wir geben dann an, welcher dieser Blöcke für die Wände, welcher für das Dach usw. verwendet wird. Wir können die Konstruktion des Hauses leicht komplett ändern, indem wir beispielsweise Backsteinmauern gegen Kopfsteinpflaster tauschen. Schließlich legen wir die Breite, Länge und Höhe unserer gewünschten Wohnung fest.

Wir rufen jetzt die Minecraft-Funktion mc.player.getTilePos () auf, um den Player in der Landschaft zu lokalisieren, und die zurückkommenden Werte werden dann verwendet, um zwei Variablen zu erstellen, links und unten, um zu beschreiben, wo sich die erste Ecke der Wohnung befindet .

Danach entspricht die Struktur des Skripts dem Minecraft-Prozess des manuellen Bauens eines Hauses. Wir beginnen damit, einen Raum freizumachen, damit der Wohnbereich kein fester Stein ist, wenn der Spieler das Haus beispielsweise in einem Berg baut. Hier ist der Codeblock - die Funktion in Python -, der dies tut:

def clear_house (nuklear):
if nuklear == Richtig:
blast_zone = 20
sonst:
blast_zone = 0
mc.setBlocks (left-blast_zone, player_
Boden, Boden + blast_zone, links + Breite + blast_zone
Zone, Spielerplatz + Höhe + Explosion_
zone + 10, bottom-length-blast_zone, air_block)

Wenn wir clear_house aufrufen, übergeben wir den Parameter nuklear. Es hat den Wert Wahr oder Falsch. Sie können versuchen, es mit True aufzurufen, um ein größeres Volumen im Zielbereich zu löschen, oder mit False, um den Abstand auf die Innenabmessungen des Hauses zu beschränken. In Minecraft wird die Funktion mc.setBlocks verwendet, um einen Blockwürfel zu erstellen, indem die dreidimensionalen Koordinaten gegenüberliegender Ecken gefolgt vom gewünschten Blocktyp übergeben werden. In diesem Fall räumen wir einen Raum, also verwenden wir Luft.

Sobald wir den Raum geräumt haben, ist es Zeit, mit dem Bau fortzufahren. Jede dieser Bauphasen findet in ihrer eigenen Funktion statt. Am Ende des Skripts sehen Sie eine Funktion namens main (), die den Programmablauf steuert, indem sie jede Bauphase nacheinander aufruft. Wenn Sie unsere Funktionen sinnvoll benennen und von main () aus aufrufen, ist es leicht zu verstehen, was das Programm tut:

def main ():
clear_house (False)
start_pos = [links, unten, player_
Boden]
build_floor (start_pos)
Course = Build_Walls (Start_Pos)
add_door (door_position)
time.sleep (Verzögerung * 10)
build_roof (start_pos, kurs)

Die nächste in main () aufgerufene Funktion erstellt den Boden - dies verwendet mc. Setzen Sie die Blöcke erneut, um ein Fundament (für den künstlerischen Effekt) herauszuschneiden, und fügen Sie dann einen Würfel aus Bodenfliesen mit einer Tiefe von einem Block hinzu, um einen festen Boden in unserem Haus zu schaffen.

wie man den Snap-Score schnell erhöht

Die Mauern bauen

Die Funktion build_walls ist das Herzstück des Programms. Der effizienteste Weg, um die Hülle eines Hauses zu erstellen, besteht darin, einen festen Würfel aus Ziegeln zu schlagen und dann mit clear_house den Innenraum herauszuschneiden. Wir möchten jedoch, dass das Haus so aussieht, als würde es sich selbst bauen. Deshalb müssen wir die Blöcke einzeln nacheinander platzieren. Hier ist eine vereinfachte Version des Wandbau-Codes:

def build_course (start_pos, direction,
Kurs):
Blöcke = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

wenn Richtung == nach oben oder
Richtung == nach unten:
Anzahl_der_Blöcke = Länge
sonst:
Anzahl_der_Blöcke = Breite

während Blöckemc.setBlock (current_horiz, player_
Boden + Kurs, current_vert, wall_block)
wenn Richtung == nach oben:
current_vert- = 1
elif richtung == runter:
current_vert + = 1
elif richtung == rechts:
current_horiz + = 1
sonst:

current_horiz- = 1
Blöcke = Blöcke + 1 # Fahren Sie mit dem nächsten Block fort
time.sleep (Verzögerung)

Wir beginnen mit dem Speichern der Startposition - dies ist die Position des letzten Blocks, der aus dem vorherigen Blockverlauf gelegt wurde. Wir geben dann an, wie viele Blöcke verlegt werden sollen, je nachdem, ob wir uns entlang der Länge des Gebäudes oder seiner Breite bewegen.

Die Bauphase ist im while-Block enthalten - dieser läuft weiter, bis wir alle Blöcke gelegt haben. mc.setBlock platziert einen einzelnen Block an den angezeigten Koordinaten und erhöht dann eine dieser Koordinaten in Abhängigkeit von der Richtung, in die wir legen. Der Effekt ist, dass Blöcke entlang einer Wand verlegt werden, bevor sie um eine Ecke biegen und in einem Rechteck fortgesetzt werden, bis der Kurs abgeschlossen ist.

So speichern Sie ein Gif auf dem iPhone von Twitter

Die endgültige Version des Codes ist etwas komplizierter und fügt jeder Wand Fenster hinzu. Die Fenster sind dynamisch so dimensioniert, dass sie die halbe Länge der Wand haben und zentriert sind. Es zeichnet auch die Position für die Tür auf; Es wird hinzugefügt, sobald die Wände gebaut sind. Kurse werden über die Funktion build_walls gesteuert, die die Funktion build_course für jeden Kurs von Blöcken wiederholt, bis die endgültige Höhe erreicht ist.

Sie können sogar versuchen, Ihr Haus im Meer oder in der Luft zu bauen. Drücken Sie dazu zweimal die Leertaste, um zu fliegen, und drücken Sie erneut, um sich zu erheben, bevor Sie das Skript ausführen. Ändern Sie die Variablen wall_block unddach_block, um zu sehen, was passiert, wenn Sie die Wände oder das Dach aus Gold oder tatsächlich Lava erstellen. Sie können Ihre eigenen Blöcke hinzufügen, indem Sie die vollständige Liste konsultieren Hier und Hinzufügen der zugehörigen Variablen zum Skript. Schwierigere Änderungen können das Hinzufügen mehrerer Stockwerke zur Struktur umfassen, wenn die Höhenvariable auf einen ausreichend großen Wert eingestellt ist. Wenn Sie zum Beispiel Türme hinzufügen, haben Sie das Zeug zu einer Minecraft-Burg.

Diese Optimierungen klingen vielleicht trivial, aber ich programmiere seit mehr als 20 Jahren professionell und bin immer noch begeistert, wenn ein Codeausschnitt wie beabsichtigt funktioniert. Wenn Sie noch nie zuvor programmiert haben, hoffe ich, dass Sie es versuchen - und wenn Sie einen Minecraft-Fan im Haushalt haben, schlage ich vor, sie im Code loszulassen und zu sehen, wohin sie führen. Links zu Minecraft Pi-Ressourcen finden Sie unter kevpartner.co.uk/programming .

Interessante Artikel

Tipp Der Redaktion

So kombinieren Sie Screenshots zu einem PDF
So kombinieren Sie Screenshots zu einem PDF
https://www.youtube.com/watch?v=rW068fF-8Zo Es gibt mehrere Möglichkeiten, Screenshots in einem PDF zu kombinieren. Die Methoden können sich unterscheiden, wenn Sie einen Mac oder einen PC verwenden, aber das Endergebnis ist das
So löschen Sie Nachrichten dauerhaft auf Android
So löschen Sie Nachrichten dauerhaft auf Android
Wenn Sie das gleiche Telefon seit einiger Zeit verwenden, stellen Sie möglicherweise fest, dass Ihre Messaging-App langsamer wird oder lange zum Laden benötigt. Das Löschen Ihrer Nachrichten auf Android ist nicht schwer, aber
Die Verwendung von Oktetten in Computern und Netzwerken
Die Verwendung von Oktetten in Computern und Netzwerken
Ein Oktett stellt in Computersystemen und Netzwerken eine 8-Bit-Größe dar. Oktette werden am häufigsten mit Bytes einer IPv4-Netzwerkadresse verknüpft.
So werden Sie Lyft-Fahrer
So werden Sie Lyft-Fahrer
Es gibt zwei Möglichkeiten, Lyft-Fahrer zu werden. Gehen Sie dazu zunächst online auf die Seite „Bewerben Sie sich als Fahrer“ von Lyft und befolgen Sie die Schritte. Die zweite Möglichkeit besteht darin, die Lyft Driver-App auf Ihr Gerät herunterzuladen
Können Sie AirPlay unter Windows verwenden?
Können Sie AirPlay unter Windows verwenden?
AirPlay ist eine Apple-Technologie, die Audio und Video von einem Mac- oder iOS-Gerät streamt. Aber können Sie es unter Windows verwenden? Du kannst! Wir zeigen Ihnen wie.
Kann Google Fotos HIER in JPG konvertieren?
Kann Google Fotos HIER in JPG konvertieren?
Google Fotos unterstützt alle Geräte, einschließlich Android und iPhones. Wenn Sie ein iPhone besitzen, wissen Sie, dass HEIC das Basisformat für alle gespeicherten Fotos ist. Da das Format nur von Apple-Geräten verwendet wird, ist dies nicht möglich
So machen Sie Steam Download schneller
So machen Sie Steam Download schneller
Da Steam heute die größte Plattform zur Verbreitung von Spielen ist, gibt es praktisch kein Spiel, das Sie mit diesem Service nicht herunterladen können. Mit weit über 30.000 verfügbaren Titeln und zig Millionen Spielern weltweit gibt es eine Menge