Schweitzer Fachinformationen
Wenn es um professionelles Wissen geht, ist Schweitzer Fachinformationen wegweisend. Kunden aus Recht und Beratung sowie Unternehmen, öffentliche Verwaltungen und Bibliotheken erhalten komplette Lösungen zum Beschaffen, Verwalten und Nutzen von digitalen und gedruckten Medien.
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
»Das Buch bietet eine fundierte Einführung in die Programmierung mit Python, die speziell auf die Bedürfnisse von Anfängern zugeschnitten ist.« (Die Magie der Bücher, 07/24)
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.
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 Algorithmus? 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 eindeutige Handlungsvorschriften. 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 Algorithmus ist eine eindeutige Handlungsvorschrift.
Ein Interpreter übersetzt Programmiersprache bei Ausführung in Maschinensprache.
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.
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.
Listing 2.2: »Hallo Welt!« in C
Formatierung, also zum Beispiel das Einrücken von Zeilen, oder das Beginnen einer neuen Zeile, ist beim Programmieren extrem wichtig, das gilt für Python noch viel mehr als für jede andere Programmiersprache. Denn wie wir später noch sehen werden, macht die Einrückung einer Zeile in Python nicht nur einen optischen Unterschied, sondern kann auch die Funktionalität eines Programmes verändern.
Die Python-Version des »Hallo Welt!«-Programms siehst du in Listing 2.3. Mit gerade einmal einer Zeile ist es ohne Zweifel die kürzeste der drei Versionen. Auffallend ist auch die Abwesenheit von Sonderzeichen wie dem Semikolon und den geschweiften Klammern, die es in den beiden anderen Programmiersprachen gibt.
Listing 2.3: »Hallo Welt!« in Python
Wie du also sehen kannst, wird dir Python das Leben als Programmierer nicht unnötig schwer machen, ganz im Gegenteil, es wird dir einen einfacheren Einstieg ermöglichen als die meisten anderen Programmiersprachen. Und obwohl die Arbeit mit Python vergleichsweise einfach ist, wirst du trotzdem im Verlaufe des Buches alle wichtigen Programmiertechniken kennenlernen, wie sie auch die anderen Programmiersprachen bieten. Da sich diese oft kaum zwischen den verschiedenen Sprachen unterscheiden, wird es dir, wenn du erst einmal Python gelernt hast, später nicht schwer fallen, noch weitere Programmiersprachen zu lernen, falls du das möchtest.
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.
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 jython.jar. Wenn du die Datei heruntergeladen hast, musst du nur noch einen neuen Ordner mit dem Namen lib in deinem Serververzeichnis erzeugen und die Datei dorthin kopieren. Sollte die Datei nach dem Download noch nicht den Namen jython.jar 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.
jython.jar
lib
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 Python Plugin Loader steht. Auch das Plugin besteht lediglich aus einer einzigen Datei, sie trägt den Namen pploader1.2.0.jar oder einen entsprechenden Namen mit einer neueren Versionsnummer. Sie muss nach dem Download in den im Server-Ordner bereits vorhandenen Ordner plugins kopiert werden.
pploader1.2.0.jar
plugins
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 lib anlegen...
Dateiformat: ePUBKopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet - also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.