Skip to content

Instantly share code, notes, and snippets.

@nonchris
Last active October 18, 2024 16:10
Show Gist options
  • Save nonchris/5b02db3aa6432f6a23df60d77f5db132 to your computer and use it in GitHub Desktop.
Save nonchris/5b02db3aa6432f6a23df60d77f5db132 to your computer and use it in GitHub Desktop.
Installationsanweisungen für den "python mit minecraft" Workshop

Python programmieren mit Minecraft:

Anleitung siehe https://jandahlhaus.de/python-programmieren-mit-minecraft/
Falls das installierte Java zu neu ist und nicht unterstützt wird, bitte JDK11 von hier installieren:
https://adoptium.net/de/temurin/archive

Angepasst von Christoph Geron, Jun 2022 (getestet in 2024) Änderungen:

  • Anweisungen für Pycharm (Community Edition) install hinzugefügt
  • Installation der python pakete in venv
  • Jupyter erfordert und Anleitung zum Install und Test hinzugefügt
  • Test des python-Setups auf pycharm umgesschrieben
  • Testskript um automatischen Check der python-Version ergänzt
  • Andere kleinere Verbesserungen der Dokumentation

Hinweis:

Diese Dokumentation ist für das Aufsetzen der Workshop PCs ausgelegt.
Daher enthält sie ggf. Hinweise welche für eine einzelne Installation sinnlos erscheinen.
Sie richtet sich zudem an Windows PCs.
Das Setup unter Mac und Linux sollte aber möglich sein.


Anleitung

Die Installation ist teilweise benutzeraccountabhängig und läuft nicht 100% übergreifend - laut Software Konfigurationsliste auf Workshop Nachmittag installieren.

Minecraft

Die erfordert genau Minecraft Version: 1.16.3
Ein Profil mit der entsprechenden Version kann im Minecraft Launcher unter Installationen angelegt werden.

Python

Python 3.10.11-64amd installieren mit Häkchen bei add to Path
Download: https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe
Eine neuere Python Version oder ein Install via Microsoft Store sollte funktionieren, wurde aber nicht getestet.
Beim Install ist es wichtig alle Häckchen zu setzen, welche vom PATH reden.

Java

Überprüfen, ob Java installiert ist: Kommandozeile öffnen (CMD im Windows Menü), "Java -version" eingeben, Eingabetaste drücken, sonst von http://www.java.com/en/download/ installieren

Minecraft Tools

Minecraft Tools herunterladen:
https://nostarch.com/download/code/MinecraftTools.zip
Zip-Ordner entpacken

Pycharm (Code Editor)

pycharm community edition installieren
Quelle: https://www.jetbrains.com/pycharm/download/#section=windows
Direkter Link: https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows&code=PCC
Hinweis: Andere Editoren wie VSCode sind ebenfalls möglich, aber werden in diesem Tutorial nicht erklärt.

Während Install folgede Häckschen setzen: Alle vier Options-Häckchen setzen

Projekt aufsetzen

Hinweis: Pycharm hat in der Vergangenheit öfter das Interface geändert.
Die benötigten Schritte sind die selben. Es kann nur sein, dass sich die Buttons an etwas anderen Stellen befinden.

Ein neues Projekt erstellen

Pycharm öffnen, "new Project" wählen
Location auf "C:\Users\NUTZER\Documents\minecraft" setzen und "Inherit global site-packages" und "make avaiabalbe to all projects" ankreuzen
-> "NUTZER" durch den Nutzer des PCs ersetzen. Bei einem deutschen Install von Windows könnte der Ordner "Documents" auch "Dokumente" heißen, kurzum: Das Projekt soll im Dokumente-Ordner liegen und "minecraft" heißen.
Create klicken

Es öffnet sich ein Fenster, welches in der Mitte einen Text-Editor enthält, welches eine Datei main.py anzeigt, die etwas von "# This is a sample Python script." erzählt.

Unten in der Leiste des Programms "Terminal" auswählen. Dort sollte nun stehen: (venv) PS C:\Users\NUTZER\Documents\minecraft>

Python Pakete installieren

python -m pip install jupyterlab notebook mcpi minecraftstuff
Es sollte ein "Successfully installed ein haufen Packete" auf dem Screen erscheinen.

Warnungen, dass PIP veraltet ist, können einfach ignoriert werden ;)

Optional:

Testen mit der Eingabe von jupyter notebook im selben Terminal. Es sollte sich ein Browser-Fenster öffnen, in dem eine Art Ordnerstruktur zu sehen ist, die URL sollte "localhost:XXXX/tree" sein, wobei XXXX vermutlich 8889 ist, ein anderer Wert ist aber auch okay!

Setup Testen

  • Entpackten Ordner "Minecraft Tools" öffnen
  • Doppelklick auf Start_Server, 20 Sekunden warten (falls mehrer Java-Versionen auf dem Rechner installiert sind, muss der Java-Verweis in der Batch ggf. mit absoluter Pfadangabe angepasst werden, falls die Java-Version nicht richtig angesprochen wird).

Im Texteditor von pycharm den Text aus der Datei main.py durch folgendes ersetzen (die Einrückung ist wichtig!!!):

import sys
from mcpi.minecraft import Minecraft

mc = Minecraft.create()
mc.postToChat("Hallo Welt")

v_info = sys.version_info
if v_info.minor == 10:
    print(f"Python is installed correctly. Version: '{v_info.major}.{v_info.minor}.{v_info.micro}'")

elif v_info.minor > 10:
    print(f"This version is newer than 3.10! It should still run fine. Installed: 3.{v_info.minor}, Required: 3.9 (or higher)!")

elif v_info.minor >= 9:
    print(f"This version is older than 3.10, but still okay. Installed: 3.{v_info.minor}, Required: 3.9 (or higher)!")

else:
    print(f"Python Version is to old! Installed: 3.{v_info.minor}, Required: Min. 3.9!")

Den grünen Run Button (recht weit oben rechts in pycharm) anklicken, um den Code auszuführen.
Alternativ kann Rechtsklick auf den Dateinamen gemacht werden, um sie mit Run [DATEINAME] auszuführen.
Der ausgeführte Code prüft selbstständig, ob die python version korrekt ist und gibt dies im Terminal aus.
Es öffnet sich ein neues Fenster (in pycharm), in welchem steht, ob die Python Version korrekt ist. Im Idealfall steht dort:
Python is installed correctly. Version: '3.10.x'

Im Minecraft-Server Programm im Fenster Log and chat (die rechte Spalte) sollte folgendes zu finden sein: "[Zeitangebe INFO] Hallo Welt" Der Text Hallo Welt sollte ebenfalls im ingame-chat von minecraft stehen, wenn man zum Zeitpunkt des Ausführens des Programms auf dem Server eingeloggt ist.

Der Server ist in minecraft unter "Multiplayer"/"Direct Connection"/"localhost:25565" erreichbar.

Nützliche Ressourcen

Die für die Interaktion mit Python genutzte Bibliothek: https://github.com/martinohanlon/mcpi
Die Dokumentation dazu:
https://www.stuffaboutcode.com/p/minecraft-api-reference.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment