Minecraft Pi Edition ist auf Raspbian, dem Betriebssystem von Raspberry Pi, installiert. Minecraft Pi Edition verfügt über eine API, die von außen bedient werden kann, und Sie können der Welt von Minecraft mithilfe von Python-Programmen Blöcke hinzufügen.
Dieses Mal werde ich vorstellen, wie Minecraft Pi Edition von einem PC aus bedient wird.
Himbeer-Pi-Seite
PC-Seite
Mac OS X El Capitan (10.11.2)
Python 2.7.11
rsync
Editor
In Old Raspbian ist Minecraft Pi Edition möglicherweise nicht vorinstalliert.
Minecraft Pi Edition ist auf Jessie-Lite nicht vorinstalliert
Die PC-Seite muss kein Mac sein, wenn Python 2 funktioniert.
Minecraft Pi Edition macht die API auf Port 4711
verfügbar. In Raspbian befindet sich die Python-Bibliothek für Clients (im Folgenden "mcpi") in "/ usr / lib / python2.7 / dist-packages / mcpi /", und Sie können Python-Programme schreiben und betreiben.
Himbeer-Pi-Seite
$ python
>>> import mcpi
>>> print mcpi.__file__
/usr/lib/python2.7/dist-packages/mcpi/__init__.pyc
Die Implementierung der minecraft.create
-Methode ist wie folgt, und Sie können Minecraft Pi Edition von einem PC im selben lokalen Netzwerk aus betreiben, indem Sie im ersten Argument die IP-Adresse von Raspberry Pi eingeben.
mcpi/minecraft.py
def create(address = "localhost", port = 4711):
return Minecraft(Connection(address, port))
Wenn mcpi
Socket-Kommunikation implementieren kann, kann sie auf andere als Python portiert werden, so dass es den Anschein hat, als würden einige Leute sie mit Ruby umschreiben. (eaglestone / minecraft-pi-ruby)
Kopieren Sie zuerst das mcpi
auf dem Raspberry Pi auf die PC-Seite. (Ändern Sie den IP-Adressenteil von pi @ 192.168.1.49
, indem Sie ifconfig
usw. auf Raspberry Pi ausführen.)
PC-Seite
mkdir minecraft-pi-samples
cd minecraft-pi-samples
rsync -av --copy-links [email protected]:/usr/lib/python2.7/dist-packages/mcpi/ ./mcpi/ --exclude=*.pyc
Wenn Sie diese Arbeit nicht verstehen oder Probleme haben, laden Sie das Beispielprogramm hier herunter und entpacken Sie es. Bitte benutzen Sie das Verzeichnis `src``.
Erstellen Sie das folgende Programm. Ersetzen Sie das erste Argument "192.168.1.49" von "Minecraft.create" durch die IP-Adresse Ihres Raspberry Pi.
hello.py
import platform
from mcpi.minecraft import Minecraft
mc = Minecraft.create("192.168.1.49")
mc.postToChat("Hello " + platform.platform())
Die Verzeichnisstruktur sieht so aus.
.
├── hello.py
└── mcpi
├── __init__.py
├── block.py
├── connection.py
├── event.py
├── minecraft.py
├── util.py
└── vec3.py
Es ist erfolgreich, wenn python hello.py
ausgeführt wird und die Plattforminformationen des PCs, auf dem das Programm ausgeführt wird, auf der Minecraft Pi Edition-Seite in der Chat-Nachricht angezeigt werden.
Dieses Mal habe ich den Code von "mcpi" gelesen und beschlossen, ihn remote zu entwickeln, da er mit Sockets kommuniziert.
Der Vorteil der Verwendung eines PCs besteht darin, dass Sie eine Ihnen vertraute Entwicklungsumgebung verwenden können, z. B. einen Editor. Da Sie ihn remote bedienen können, kann eine Person Minecraft bedienen und die andere ein Programm ausführen, um zu stören oder zu unterstützen. Ich denke.
Als Nebeneffekt können Sie, da mcpi
in dasselbe Verzeichnis kopiert wird, Code schreiben, während Sie den Inhalt der Methode überprüfen.
Ich bin der Meinung, dass der Raspberry Pi im Bildungsbereich ausgeführt werden muss, aber ich denke, dass die Seite, die Beispielcode als Lehrmaterial erstellt, eine so hochproduktive Umgebung verwenden kann.