E-Book, Deutsch, 304 Seiten
Reihe: mitp Anwendungen
Braun Let‘s Play. Programmieren lernen mit Python und Minecraft
4., 2023
ISBN: 978-3-7475-0672-1
Verlag: mitp Verlags GmbH & Co.KG
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Plugins erstellen ohne Vorkenntnisse
E-Book, Deutsch, 304 Seiten
Reihe: mitp Anwendungen
ISBN: 978-3-7475-0672-1
Verlag: mitp Verlags GmbH & Co.KG
Format: EPUB
Kopierschutz: 6 - ePub Watermark
- Erschaffe deine eigene Welt: mächtige neue Waffen erstellen wie z.B. ein Feuerschwert, auf Knopfdruck Türme und ganze Häuser bauen, automatisch auf Veränderungen in der Welt reagieren
- Neue Crafting-Rezepte und eigene Spielmodi entwickeln wie z.B. eine Schneeballschlacht mit Highscore-Liste
- Mit umfangreicher Referenz zu allen Programmierbefehlen
Du spielst schon lange Minecraft und denkst, du hast schon alles gesehen? Kennst du schon das Feuerschwert, den Enderbogen oder den Spielmodus »Schneeballschlacht«? Du willst auf Knopfdruck Türme, Mauern oder sogar ganze Häuser bauen? Vollautomatisch auf Geschehnisse in der Spielwelt reagieren? Mit eigenen Plugins kannst du all das und noch viel mehr entdecken und ganz nebenbei auch noch programmieren lernen.
Python ist für Programmiereinsteiger besonders leicht zu lernen. Daniel Braun zeigt dir, wie du mit Python und Bukkit oder Spigot Erweiterungen für Minecraft programmierst, sogenannte Plugins, die du dann zusammen mit deinen Freunden auf deinem eigenen Minecraft-Server ausprobieren kannst. Dafür sind keine Vorkenntnisse erforderlich, du lernst alles von Anfang an.
Nach dem Programmieren einfacher Chat-Befehle wirst du coole Plugins zum Bauen erstellen, so dass mit einem einzigen Befehl sofort z.B. ein fertiges Haus oder eine Kugel vor dir steht.
Außerdem erfährst du, wie deine Plugins automatisch auf Geschehnisse in der Spielwelt reagieren können.
Du kannst auch eigene Crafting-Rezepte entwerfen, um z.B. mächtige neue Waffen zu kreieren wie das Feuerschwert, das alles in Brand setzt, worauf es trifft.
Am Ende lernst du sogar, wie du eigene Spielmodi entwickeln kannst, also ein Spiel im Spiel. Ob eine Schneeballschlacht mit Highscore-Liste oder ein Wettsammeln mit Belohnung für den Sieger, hier ist jede Menge Spaß garantiert.
Für das alles brauchst du keine Vorkenntnisse, nur Spaß am Programmieren. Es beginnt mit ganz einfachen Beispielen, aber mit jedem Kapitel lernst du mehr Möglichkeiten kennen, um Minecraft nach deinen Wünschen anzupassen. Am Ende kannst du richtig in Python programmieren und deiner Kreativität sind keine Grenzen mehr gesetzt, um deine eigene Minecraft-Welt zu erschaffen.
Geeignet für Windows, Linux und macOS
Aus dem Inhalt:- Bukkit und Spigot installieren und einrichten
- Eigene Befehle definieren und Chat-Nachrichten versenden
- Python-Grundlagen: Variablen, Schleifen, Verzweigungen, Funktionen, Klassen und Objekte
- Häuser, Kreise und Kugeln bauen
- Schilder errichten und beliebig beschriften
- Plugins programmieren, die auf Veränderungen in der Welt reagieren
- Eigene Crafting-Rezepte erstellen
- Informationen dauerhaft speichern
- Eigene Spielmodi entwickeln wie z.B. eine Schneeballschlacht oder ein Sammelspiel
- Umfangreiche Referenz zu allen Programmierbefehlen
Zielgruppe
Alle Minecraft-Spieler
Autoren/Hrsg.
Weitere Infos & Material
Kapitel 2:
Python
Ob bewusst oder unbewusst, eine der wichtigsten Entscheidungen, die man auf dem Weg zum Programmierer zu treffen hat, hast du bereits getroffen: welche Programmiersprache du lernen möchtest. Mit diesem Buch hast du dich nämlich für die Programmiersprache Python entschieden. Bevor wir aber einen Blick auf die Besonderheiten von Python werfen, soll es zunächst um die Frage gehen, was Programmiersprachen eigentlich sind und warum sie benötigt werden.
2.1 Programmiersprachen
Beim Programmieren geht es im Wesentlichen darum, dass der Programmierer dem Computer eine bestimmte Aufgabe gibt, die dieser erledigen soll. Damit er das kann, braucht der Computer eine genaue Handlungsvorschrift, die auch genannt wird. Auch im Alltag begegnen uns oft Handlungsvorschriften, zum Beispiel in Form eines Rezepts:
-
250 Gramm Mehl in eine Schüssel geben
-
500 Milliliter Milch dazugeben
-
2 Eier hinzugeben
-
Mit einer Prise Salz würzen
-
Umrühren
Fertig ist der Crêpes-Teig! Damit eine Handlungsvorschrift korrekt ausgeführt werden kann, müssen sich beide Seiten auf eine gemeinsame Sprache einigen. Wenn dir jemand ein chinesisches Rezept gibt, kannst du vermutlich nicht viel damit anfangen.
Computer »sprechen« in Einsen und Nullen, also in einer Sprache, mit der Menschen nicht besonders gut umgehen können. Unsere Sprache wiederum, egal ob es sich um Deutsch, Englisch oder Chinesisch handelt, ist für den Computer viel zu ungenau. Nehmen wir zum Beispiel den Satz »Da vorne ist eine Bank.« Obwohl es sich dabei um einen vollkommen korrekten deutschen Satz handelt, ist doch nicht eindeutig klar, was mit dem Satz eigentlich gemeint ist. Steht da vorne eine Parkbank, auf die man sich setzen kann, oder ist dort die Filiale einer Bank, auf der man Geld einzahlen und abheben kann? Es wäre ein recht kostspieliger Fehler, wenn dein Computer beim Online-Shoppen aus Versehen die Deutsche Bank statt einer Bank für den Garten kauft.
Algorithmen müssen deshalb nicht nur Handlungsvorschriften sein, sondern . Auch mit Begriffen wie »eine Prise« kann ein Computer wenig anfangen, weil sie einfach zu ungenau sind. Aus diesem Grund nutzen wir Programmiersprachen, denn sie ermöglichen es uns, eindeutige Handlungsvorschriften festzulegen. Und obwohl sie auf den ersten Blick recht kompliziert scheinen, können wir sie doch leichter lernen als eine Sprache aus Nullen und Einsen.
Viele Programmiersprachen, wie zum Beispiel C, verwenden sogenannte Compiler, die die Programmiersprache in Maschinensprache übersetzen. Andere, wie auch Python, verwenden einen sogenannten Interpreter. Wir werden in diesem Buch einen besonderen Interpreter mit dem Namen Jython verwenden. Ein Vorteil des Interpreters ist, dass er den Programmcode bei jedem Ausführen neu »interpretiert«, also für den Computer übersetzt, Deshalb werden Änderungen am Programmcode bei einem Interpreter sofort wirksam, während man bei einer Compilersprache den Quellcode zuerst neu kompilieren muss, bevor die Änderungen auch im Programm ankommen. Außerdem sind Interpretersprachen unabhängiger vom Betriebssystem, deine fertigen Plugins kannst du daher später auch problemlos an Freunde weitergeben, egal ob sie Windows, GNU/Linux oder OS X nutzen.
Merke
-
Ein ist eine eindeutige Handlungsvorschrift.
-
Ein übersetzt Programmiersprache bei Ausführung in Maschinensprache.
2.2 Besonderheiten von Python
Python wurde Anfang der 1990er-Jahre vom niederländischen Informatiker Guido van Rossum entwickelt. Die Programmiersprache ist heute weit verbreitet und dafür bekannt, dass sie besonders leicht zu erlernen ist, genau die richtige Sprache also für den Einstieg in die Programmierung.
Python gilt aber auch als besonders übersichtlich und minimalistisch. Gut sichtbar wird das am sogenannten »Hallo Welt!«-Programm. Programmierer nutzen »Hallo Welt!«-Programme gerne, um auf besonders einfache Weise den Aufbau einer Programmiersprache zu verdeutlichen, denn dieses kleine Programm tut nichts anderes, als den Text »Hallo Welt!« auf dem Bildschirm auszugeben.
In Listing 2.1 kannst du den Code des »Hallo Welt!«-Programms in Java sehen, also der Programmiersprache, in der auch Minecraft geschrieben wurde. Das sieht schon ziemlich kompliziert aus, es gibt viele Wörter und auffällig viele sogenannte geschweifte Klammern, also { und }. Insgesamt hat das Programm eine Länge von fünf Zeilen.
1 class Hallo { 2 public static void main(String[] args) { 3 System.out.print("Hallo Welt!"); 4 } 5 }Listing 2.1: »Hallo Welt!« in Java
Zeilen und Zeilennummern, das wirst du später noch sehen, sind für Programmierer wichtige Informationen, denn wenn sie auf eine bestimmte Stelle in einem Programm hinweisen wollen, so tun sie das meist mithilfe der Zeilennummer. Oft sagt die Länge eines Programmes auch etwas über die Komplexität aus, zumindest aber über den Aufwand, deshalb sind Programmierer oft bemüht, Programme möglichst kurz zu halten.
In Listing 2.2 kannst du den Code des »Hallo Welt!«-Programms in der Programmiersprache C sehen. Obwohl das Programm wegen anderer Formatierung, sogar eine Zeile länger ist sieht man doch sofort, dass es schon deutlich übersichtlicher ist als sein Java-Pendant, selbst wenn man nicht weiß, wofür die Befehle eigentlichen stehen.
1 #include2.3 Einrichtung
Wie bereits erwähnt, ist Minecraft selbst in Java programmiert. Daher benötigst du, bevor du Python-Plugins auf deinem Server ausführen kannst, einen Interpreter, der deinen Python-Code in Java übersetzt, und ein Plugin, das diesen Interpreter an deinen Server koppelt. Beides findest du auf der Website zum Buch, unter buch.daniel-braun.com zum Download.
2.3.1 Jython
Zunächst solltest du von dort den Interpreter herunterladen, dieser trägt den Namen Jython, ein Kofferwort aus Java und Python. Jython besteht lediglich aus einer einzelnen Datei, diese trägt den Namen . Wenn du die Datei heruntergeladen hast, musst du nur noch einen neuen Ordner mit dem Namen in deinem Serververzeichnis erzeugen und die Datei dorthin kopieren. Sollte die Datei nach dem Download noch nicht den Namen tragen, zum Beispiel, weil die Versionsnummer im Dateinamen enthalten ist, so muss sie zunächst umbenannt werden. Nur wenn die Datei den richtigen Namen trägt, kann sie vom Server gefunden werden. Damit ist die Einrichtung des Interpreters bereits abgeschlossen.
2.3.2 PPLoader
Nun fehlt nur noch das Plugin, das den Interpreter mit deinem Server, egal ob Bukkit oder Spigot, verbindet. Das benötigte Plugin trägt den Namen PPLoader, was für steht. Auch das Plugin besteht lediglich aus einer einzigen Datei, sie trägt den Namen oder einen entsprechenden Namen mit einer neueren Versionsnummer. Sie muss nach dem Download in den im Server-Ordner bereits vorhandenen Ordner kopiert werden.
Merke
Bevor du weiterliest, solltest du noch einmal überprüfen, ob du alle nötigen Schritte ausgeführt hast, um deinen Server auf die Verwendung von Python-Plugins vorzubereiten:
-
Jython herunterladen von buch.daniel-braun.com
-
Im Server-Ordner ein neues Verzeichnis anlegen...




