Inhaltsverzeichnis

Impressum

Einleitung

Kapitel 1: CanaryMod

1.1 Installation

1.2 Die Oberfläche

1.3 Einrichten

1.4 Rechte

1.4.1 Spieler zu einer Gruppe hinzufügen

1.4.2 Gruppen erstellen und löschen

1.4.3 Rechte vergeben und entziehen

1.5 Updates

1.6 Rätsel

Kapitel 2: Java

2.1 Programmiersprachen

2.2 Besonderheiten von Java

2.3 Installation und Einrichtung

2.3.1 Java-Compiler installieren

2.3.2 Ordner einrichten

2.4 Editor

2.5 Zusammenfassung

Kapitel 3: Das erste Plugin

3.1 Programmieren

3.2 Kompilieren

3.2.1 Fehler finden

3.2.2 Jar-Datei erstellen

3.3 Starten

3.4 Entdecken

3.5 Rätsel

3.6 Zusammenfassung

Kapitel 4: Chat-Befehle

4.1 Eigene Befehle definieren

4.2 Chat-Nachrichten versenden

4.3 Rätsel

4.4 Zusammenfassung

Kapitel 5: Variablen und Konstanten

5.1 Variablen

5.1.1 Zahlen

5.1.2 Zeichenketten

5.1.3 Konvertierung

5.1.4 Arrays

5.2 Konstanten

5.3 Rätsel

5.4 Zusammenfassung

Kapitel 6: Schleifen

6.1 Kürbis-Plugin

6.1.1 Positionierung

6.1.2 Blöcke platzieren

6.2 Die verschiedenen Schleifen

6.2.1 for-Schleife

6.2.2 while-Schleife

6.2.3 do-while-Schleife

6.2.4 Verschachtelte Schleifen

6.3 Rätsel

6.4 Zusammenfassung

Kapitel 7: Verzweigungen

7.1 if-Verzweigung

7.2 case-Verzweigung

7.3 Rätsel

7.4 Zusammenfassung

Kapitel 8: Funktionen

8.1 Deklaration von Funktionen

8.2 Rückgabewerte

8.3 Parameter

8.4 Anwendungsbeispiel

8.5 Rätsel

8.6 Zusammenfassung

Kapitel 9: Klassen und Objekte

9.1 Die ganze Welt ist ein Objekt

9.2 Erstellung einer eigenen Klasse

9.3 Funktionen in Klassen

9.4 Zugriffskontrolle

9.5 Vererbung

9.6 Abstrakte Methoden und Klassen

9.7 Bau-Plugin

9.8 Rätsel

9.9 Zusammenfassung

Kapitel 10: Bauen

10.1 Notunterkunft

10.1.1 Wände und Decke

10.1.2 Tür

10.1.3 Bett

10.1.4 Fackel

10.2 Runde Objekte

10.2.1 Kreise

10.2.2 Kugeln

10.3 Rätsel

10.4 Zusammenfassung

Kapitel 11: Schilder

11.1 Hängende Schilder

11.2 Stehende Schilder

11.3 Text festlegen

11.4 Schilder-Plugin (Listen)

11.4.1 Listen-Grundlagen

11.4.2 Das Plugin

11.5 Rätsel

11.6 Zusammenfassung

Kapitel 12: Listener

12.1 Grundgerüst

12.2 Spieler-Ereignisse

12.3 Kreaturen-Ereignisse

12.4 Welt-Ereignisse

12.5 System-Ereignisse

12.6 Listener und Chat-Befehle verknüpfen

12.7 Rätsel

12.8 Zusammenfassung

Kapitel 13: Crafting-Rezepte

13.1 Rezepte festlegen

13.2 Neues Rezept hinzufügen

13.3 Feuerschwert

13.4 Enderbogen

13.5 Rätsel

13.6 Zusammenfassung

Kapitel 14: Informationen dauerhaft speichern

14.1 Konfigurationsdateien

14.1.1 Lesen

14.1.2 Schreiben

14.2 Datenbank

14.2.1 Struktur

14.2.2 Daten einfügen

14.2.3 Daten lesen

14.2.4 Daten ändern

14.2.5 Daten löschen

14.3 Schilder-Plugin mit Speicherfunktion

14.4 Rätsel

14.5 Zusammenfassung

Kapitel 15: Eigene Spielmodi entwickeln

15.1 Schneeballschlacht

15.1.1 Schneebälle verteilen

15.1.2 Schneebälle automatisch auffüllen

15.1.3 Punkte zählen

15.1.4 Punkte dauerhaft speichern

15.1.5 Highscore-Liste anzeigen

15.1.6 Vollständiger Quellcode

15.2 Sammelspiel

15.2.1 Aufbau des Plugins

15.2.2 Plugin starten

15.2.3 Spieler betritt den Server

15.2.4 Gegenstände zählen

15.2.5 Auftrag anzeigen

15.2.6 Vollständiger Quellcode

15.3 Rätsel

15.4 Zusammenfassung

Kapitel 16: Künstliche Intelligenz

16.1 Grundlagen

16.1.1 AIBase

16.1.2 AIManager

16.2 Hauskuh

16.3 Golem

16.3.1 Erzeugen

16.3.2 Folgen

16.3.3 Sammeln

16.4 Zusammenfassung

Kapitel 17: Eigenständige Java-Programme

17.1 Grundgerüst

17.2 Statische Variablen und Funktionen

17.3 Ein- und Ausgabe

17.3.1 »Hallo Welt!«-Programm

17.3.2 Eingaben

17.4 Quiz programmieren

Anhang A: Rätsel-Lösungen

Anhang B: Befehlsreferenz

Anhang C: Blocktypen

Anhang D: Gegenstandstypen

Anhang E: Rechte

Let’s Play Minecraft

Plugins programmieren mit Java

Daniel Braun

Impressum

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.d-nb.de> abrufbar.

ISBN 978-3-95845-141-4

1. Auflage 2016

www.mitp.de

E-Mail: mitp-verlag@sigloch.de

Telefon: +49 7953 / 7189 - 079

Telefax: +49 7953 / 7189 - 082

© 2016 mitp Verlags GmbH & Co. KG

Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Lektorat: Sabine Schulz

Sprachkorrektorat: Knut Lorenzen

Coverbild: Daniel Braun

electronic publication: III-satz, Husby, www.drei-satz.de

Dieses Ebook verwendet das ePub-Format und ist optimiert für die Nutzung mit dem iBooks-reader auf dem iPad von Apple. Bei der Verwendung anderer Reader kann es zu Darstellungsproblemen kommen.

Der Verlag räumt Ihnen mit dem Kauf des ebooks das Recht ein, die Inhalte im Rahmen des geltenden Urheberrechts zu nutzen. Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheherrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und Einspeicherung und Verarbeitung in elektronischen Systemen.

Der Verlag schützt seine ebooks vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die ebooks mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert.

Bei Kauf in anderen ebook-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.

Einleitung

Liebe Leserinnen und Leser,

die Welt von Minecraft steckt voller Dinge, die es zu entdecken gilt. Verschiedene Landschaften, Hunderte verschiedene Gegenstände und allerlei Tiere und Monster sind nur einige der Dinge, die dich erwarten.

Irgendwann ist aber selbst diese Vielzahl an Möglichkeiten erschöpft und man hat das Gefühl, alles schon einmal gesehen oder gemacht zu haben. Wenn es dir so geht, dann ist dieses Buch genau richtig für dich. Denn im Verlaufe dieses Buches lernst du, wie man mithilfe von Java und dem CanaryMod eigene Erweiterungen für Minecraft programmiert, sogenannte Plugins, die du dann zusammen mit deinen Freunden auf deinem eigenen Minecraft-Server ausprobieren kannst.

Egal ob du neue Crafting-Rezepte entwerfen, ganze Häuser mit einem einfachen Chat-Befehl bauen, einen eigenen Spielmodus programmieren oder sogar Tiere und Monster mit einer eigenen künstlichen Intelligenz ausstatten möchtest, mit eigenen Plugins steckt die Welt von Minecraft wieder voller Herausforderungen und Dingen, die entdeckt werden wollen. Und ganz nebenbei lernst du auch noch zu programmieren – und wer weiß, vielleicht kommt das nächste Minecraft eines Tages von dir!

Bevor es soweit ist, liegt allerdings noch ein ordentliches Stück Weg vor dir. Die ersten beiden Kapiteln dieses Buches beschäftigen sich deshalb zunächst einmal damit, wie du deinen Computer für das Programmieren und Testen eigener Plugins vorbereitest. Dazu wird dir erklärt, wie du den CanaryMod installierst, der in diesem Buch verwendet wird, ihn nach deinen Wünschen konfigurierst und wie du deinen Computer so einrichtest, dass du Java-Programme schreiben kannst.

Direkt im Anschluss geht es im dritten Kapitel ohne Umschweife direkt los mit dem Programmieren deines ersten eigenen Plugins. Die ersten Schritte werden dir vielleicht noch etwas unspektakulär vorkommen, aber mit jedem der folgenden Kapitel wirst du immer mehr Möglichkeiten haben, um immer ausgeklügeltere Plugins zu programmieren. Schon im vierten Kapitel wirst du zum Beispiel lernen, wie du eigene Chat-Befehle programmieren und verwenden kannst.

Die Kapitel 5 bis 8 beschäftigen sich mit grundlegenden Konzepten des Programmierens im Allgemeinen und der Programmiersprache Java im Besonderen. Was du hier liest, wird dir nicht nur beim Programmieren von Minecraft-Plugins helfen, sondern beim Programmieren jedes Programms in jeder Programmiersprache. Trotzdem entstehen dabei natürlich auch einige praktische kleine Plugins, wie zum Beispiel das Mauer-Plugin, das es dir erlaubt, mit einem einfachen Chat-Befehl auf die Schnelle eine Mauer zu bauen, wenn du möchtest sogar aus purem Gold.

Das neunte Kapitel widmet sich dann ganz der Baukunst. Häuser, Schilder, Kreise und Kugeln – hier wird kein Block auf dem anderen gelassen. Und wenn du schon einmal versucht hast, eine Kugel in Minecraft von Hand zu bauen, dann wirst du ganz besonders die Dienste des Kugel-Plugins zu schätzen wissen, das dir auf Knopfdruck eine nahezu perfekte Kugel zaubern kann.

Und wenn dir selbst ein Knopfdruck noch zu viel ist, dann wird dir das zehnte Kapitel besonders gefallen. Dort geht es nämlich um Plugins, die vollautomatisch auf Geschehnisse in der Spielwelt reagieren. Egal ob ein Creeper über die Karte schleicht, ein Spieler etwas isst oder ein Baum wächst, hier lernst du, wie deinem Plugin nichts mehr von dem entgeht, was auf deinem Server passiert und natürlich auch, wie du darauf reagieren kannst.

Falls du dich um die umherschleichenden Creeper aber doch lieber ganz manuell kümmern möchtest, kannst du die Informationen aus Kapitel 11 nutzen, um ganz eigene Waffen zu kreieren. In diesem Kapitel geht es nämlich um das Erstellen eigener Crafting-Rezepte und ein Beispiel, das dir dort begegnen wird, ist ein Rezept für ein Flammenschwert, das alles in Brand setzt, worauf es trifft.

Das zwölfte Kapitel ist dann wieder etwas technischer, aber nicht weniger nützlich. Hier lernst du nämlich, wie du Informationen dauerhaft speichern kannst, die auch dann erhalten bleiben, wenn der Server zwischenzeitlich ausgeschaltet wird. Das ist zum Beispiel praktisch, wenn du wie in Kapitel 13 eigene Spielmodi kreieren willst, also sozusagen ein Spiel im Spiel. Wir wäre es zum Beispiel mit einem Schneeballschlacht-Mod mit eigener Highscore-Liste, die die Treffer zählt? Oder lieber ein lustiges Suchspiel, bei dem der Gewinner mit Erfahrungspunkten oder wertvollen Gegenständen belohnt wird? Ganz wie du möchtest: Deiner Kreativität sind keine Grenzen gesetzt!

Und falls du dich schon öfter gefragt hast, wieso die Kühe ausgerechnet immer dir vor die Füße laufen müssen, dann sei dir das vorletzte Kapitel, Nummer 16, ans Herz gelegt. Dort erfährst du nämlich, wie du den Kühen solche Flausen austreiben und sie stattdessen mit deiner ganz eigenen künstlichen Intelligenz ausstatten kannst, sodass sie dir in Zukunft nicht nur nicht mehr im Weg stehen, sondern auch noch machen, was du möchtest!

Im letzten Kapitel bekommst du dann noch einen kurzen Ausblick darauf, was du mit deinen neu gewonnenen Programmierfähigkeiten noch anstellen kannst, außer Minecraft-Plugins zu programmieren. Denn wenn du am Ende des Buches angelangt bist, hört der Spaß noch lange nicht auf, denn dann hast du alle Werkzeuge und alles Wissen, das du benötigst, um ganz eigene Plugins, ganz nach deinen Vorstellungen zu entwerfen. Dabei helfen dir einige Listen im Anhang des Buches, in denen du Befehle und besonders häufig benötigte Dinge schnell nachschlagen kannst. Denn egal wie erfahren man als Programmierer ist, alles kann und muss man nicht auswendig können, man muss nur wissen, wo man es nachschlagen kann – und genau dazu dient der Anhang dieses Buches.

Falls du Fragen, Kritik oder Anregungen zum Buch oder generell zu Minecraft-Plugins hast, kannst du mich gerne jederzeit kontaktieren. Du erreichst mich per Mail an info@daniel-braun.com, über meine Facebook-Seite www.facebook.com/AutorDanielBraun oder über meine Website www.daniel-braun.com. Dort findest du auch unter buch.daniel-braun.com Links zu allen Downloads, die du benötigst, zusätzliche Installationsanleitungen sowie alle Plugins zum Herunterladen, die du im Rahmen des Buches programmieren wirst, falls du sie nicht aus dem Buch abtippen möchtest.

Zum Schluss möchte ich mich noch bei Karl-Heinz Barzen für die Unterstützung beim Schreiben dieses Buches bedanken.

Nun wünsche ich dir aber vor allem viel Spaß beim Lesen, Programmieren und Entdecken!

Daniel Braun

Kapitel 1: CanaryMod

Alleine Minecraft zu spielen, kann schon jede Menge Spaß machen, noch lustiger wird es aber, wenn du dich mit anderen Spielern zusammentust, um mit ihnen, oder auch gegen sie zu spielen. Dazu kannst du dir entweder einen der hunderten öffentlichen Server aussuchen, die du überall im Internet findest, oder du kannst deinen eigenen Server nutzen – dann hast du die volle Kontrolle über alle Einstellungen.

Um deinen eigenen Server zu betreiben, benötigst du neben dem normalen Minecraft-Spiel, das auch Client​ genannt wird, noch ein weiteres Programm, nämlich den Minecraft-Server​. Den »normalen« Minecraft-Server, manchmal auch »Vanilla-Server​« genannt, kannst du auf der offiziellen Minecraft Webseite www.minecraft.net herunterladen. Neben dieser Version gibt es aber auch noch zahlreiche sogenannte Mods​, also Modifikationen des Original-Servers. Als Mods oder Modifikationen bezeichnet man im Zusammenhang mit Spielen Versionen eines Spiels, die in irgendeiner Form verändert, also modifiziert wurden. Diese meist von Fans entwickelten Mods bieten häufig viele zusätzliche Funktionen und Annehmlichkeiten, über die der Vanilla-Server nicht verfügt. So auch der CanaryMod​, der in diesem Buch Verwendung findet.

Merke

Das normale Minecraft-Spiel, das du auch startest, wenn du alleine spielst, wird Client genannt. Das Programm, das wir in diesem Kapitel installieren werden, das du benötigst, um mit Freunden zusammen spielen zu können, heißt hingegen Server.

Dieser ermöglicht es unter anderem, besonders einfach eigene Plugins zu erstellen – und darum soll es hier ja schließlich gehen. Aber auch darüber hinaus bietet der CanaryMod zahlreiche praktische Funktionen, wie zum Beispiel ein ausgeklügeltes Rechte-Management, mit dem du vergleichsweise einfach festlegen kannst, wer auf deinem Server was tun darf. In diesem ersten Kapitel wollen wir uns zunächst um die Installation und Einrichtung eines Servers kümmern und uns einige der wichtigsten Funktionen des CanaryMods genauer ansehen.

1.1  Installation

Die neuste Version des CanaryMods findest du, zusammen mit allen Programmen aus dem Buch, im Internet auf buch.daniel-braun.com. Wie auch Minecraft selbst, besteht der CanaryMod zunächst nur aus einer einzelnen Datei, die den Namen CanaryMod.jar trägt. Da diese Datei, sobald du sie öffnest, automatisch weitere Dateien erzeugt, solltest du sie vorher unbedingt in einen eigenen Ordner kopieren. Den kannst du anlegen, indem du mit der rechten Maustaste in einen bereits bestehenden Ordner klickst und dort dann den Eintrag Neu und dann Ordner, beziehungsweise, falls vorhanden, direkt Neuer Ordner auswählst. Prinzipiell kannst du den Ordner benennen, wie du möchtest. In diesem Buch gehen wir allerdings davon aus, dass der Ordner den Namen server trägt und unter Windows im Hauptverzeichnis der Festplatte liegt, also C:\server. Unter GNU/Linux und OS X befindet er sich im Benutzerverzeichnis, also im Ordner /home/Benutzername/server bzw. /Benutzer/Benutzername/server. Ist die Datei CanaryMod erst einmal am richtigen Platz, kann sie durch einen Doppelklick gestartet werden. Es sollte sich dann das in Abbildung 1.1 gezeigte Fenster öffnen. Dort steht übersetzt: »Bitte warten, während das Programm initialisiert wird«.

Abb. 1.1: Ladefenster beim ersten Starten

Wenn du beim Warten das Ladefenster etwas zur Seite schiebst, kannst du einen Blick in den Server-Ordner werfen. Dort wird dir auffallen, dass der CanaryMod hier sieben Ordner und eine Text-Datei angelegt hat, die du auch in Abbildung 1.2 sehen kannst.

Abb. 1.2: server-Ordner nach dem Öffnen der CanaryMod-Datei

Sobald dieser Vorgang abgeschlossen ist, wirst du mit der in Abbildung 1.3 gezeigten Meldung konfrontiert: »Sie müssen den Nutzungsbedingungen zustimmen, um den Server zu starten. Weitere Informationen finden Sie in der Datei eula.txt.« Die Meldung ist allerdings kein Grund zur Sorge – sie erscheint immer beim ersten Starten und fordert dich lediglich dazu auf, die Nutzungsbedingungen zu lesen und zu akzeptieren.

Abb. 1.3: Meldung nach dem ersten Starten

Den Link zu den Nutzungsbedingungen findest du in der vom Server erzeugten Textdatei, die sich, wie du schon in Abbildung 1.2 gesehen hast, direkt im server-Ordner befindet und den Namen eula.txt trägt. Ihren Inhalt findest du auch in Listing 1.1. Wenn du diesen Link öffnest, wirst du auf die offizielle Seite des Minecraft-Herstellers Mojang geleitet, wo du die Nutzungsbedingungen glücklicherweise auch auf Deutsch vorfindest.

Dort wird geregelt, was du mit dem Spiel und dem Server machen darfst – und was nicht. Außerdem steht dort auch explizit, dass du, solltest du unter 18 sein, die Zustimmung eines gesetzlichen Vertreters einholen musst, also zum Beispiel eines Elternteils. Auf jeden Fall solltest du die Bedingungen sorgfältig lesen.

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Mon Apr 01 13:37:00 BST 2015
eula=false

Listing 1.1: Inhalt der Datei eula.txt

Hast du das getan und bist mit ihnen einverstanden, kannst du dies kenntlich machen, indem du die letzte Zeile von eula=false zu eula=true änderst. Nur wenn du das tust, kannst du den Server benutzen. Genau das wird in der ersten Zeile der Datei auf Englisch erklärt.

Wenn du die Änderungen gespeichert hast und nun wieder versuchst, den Server zu starten, sollte dieses Mal nach dem Ladefenster das eigentliche Server-Fenster erscheinen, wie du es in Abbildung 1.4 sehen kannst. Bevor wir uns aber näher mit diesem beschäftigen, wollen wir zuerst einmal testen, ob der Server überhaupt funktioniert. Dazu lässt du das Server-Fenster einfach geöffnet und startest zusätzlich den normalen Minecraft-Client.

Abb. 1.4: Der CanaryMod-Server im Betrieb

Im Hauptmenü wählst du dort dann den Eintrag Mehrspieler aus und klickst im Anschluss auf Direkt verbinden. Daraufhin öffnet sich die in Abbildung 1.5 gezeigte Maske, in der du als Serveradresse 127.0.0.1 angibst. Damit sagst du Minecraft, dass der Server, mit dem du dich verbinden möchtest, auf demselben Computer läuft wie der Client selbst, deshalb ist die Adresse, unabhängig von deinem Computer, immer gleich. Nun musst du nur noch auf Server beitreten klicken – und schon solltest du in einer ganz neuen Welt auf deinem eigenen Server stehen.

Abb. 1.5: Die Ansicht Direkt verbinden

Wenn du dich nun direkt daran versuchst, einen Block abzubauen, wirst du dabei vermutlich wenig Erfolg haben. Das ist kein Fehler, sondern ein Ergebnis des bereits erwähnten Rechte-Managements des CanaryMod. Als neuer Spieler auf dem Server hast du zunächst keine Berechtigung, Blöcke abzubauen. Wie du das änderst, dazu später mehr.

Merke

Bevor du weiterliest, solltest du noch einmal überprüfen, ob du alle nötigen Installationsschritte ausgeführt hast:

Herunterladen der Datei CanaryMod.jar von buch.daniel-braun.com

Neuen Ordner server anlegen und die Datei dorthin kopieren

Datei durch Doppelklick ausführen

Nutzungsbedingungen lesen und akzeptieren

Server erneut starten

Verbindung mit Minecraft testen

1.2  Die Oberfläche

Zunächst einmal wollen wir aber wieder zur Oberfläche des Server-Programms zurückkommen, die du bereits in Abbildung 1.4 gesehen hast. Diese besteht, wie dir sicher bereits aufgefallen ist, hauptsächlich aus Textanzeigen. Die einzige Eingabemöglichkeit für den Nutzer ist eine Textzeile am unteren rechten Rand. Das liegt daran, dass fast alles im CanaryMod entweder über Konfigurationsdateien, die wir im nächsten Abschnitt betrachten werden, oder durch Texteingaben eingestellt wird. Die grafische Oberfläche ist hauptsächlich dazu da, dir den aktuellen Zustand deines Servers anzuzeigen. Einen Überblick, wie viel Rechenpower dein Server gerade beansprucht, findest du im Rechteck auf der oberen linken Seite. Die Detailansicht dieses Rechtecks kannst du in Abbildung 1.6 sehen.

Abb. 1.6: Anzeige des Server-Status in der grafischen Benutzeroberfläche

In der ersten Zeile wird hier angezeigt, wie viel Arbeitsspeicher der Server gerade belegt. In der Zeile darunter wird die durchschnittliche Länge eines sogenannten Ticks angezeigt. Was genau das ist, wirst du in Kapitel 10 erfahren. In der vorletzten Zeile werden verschiedene Informationen über die geladene Welt angezeigt und in der letzten Zeile schließlich, wie viele Kreaturen sich gerade auf dem Server bewegen. Ebenfalls auf der linken Seite, allerdings am unteren Ende des Fensters, findest du eine Liste aller Spieler, die sich gerade auf deinem Server befinden.

Den mit Abstand meisten Platz nimmt allerdings der Bereich Log and chat auf der rechten Seite ein. Hier kannst du nicht nur Chat-Nachrichten sehen, die über den Server verschickt werden, sondern auch Informationen über alles, was gerade auf dem Server passiert – und später auch Meldungen deiner eigenen Plugins.

In der Textzeile darunter kannst du Chat-Nachrichten, aber auch Chat-Befehle eingeben, wie du sie vielleicht schon vom Minecraft spielen kennst.

1.3  Einrichten

Die wichtigsten Einstellungen, wie zum Beispiel die maximale Anzahl von Spielern, oder wer auf deinen Server darf, werden aber nicht mithilfe dieser Textzeile, sondern in verschiedenen Konfigurationsdateien festgelegt, also Textdateien, in denen Einstellungen vorgenommen werden können. Diese Dateien findest du im Unterordner config in deinem Server-Verzeichnis. Die zentrale Datei, in der die wichtigsten Grundeinstellungen des Servers abgelegt sind, trägt den Namen server.cfg.

Die ersten sechs Zeilen der Datei, die du in Listing 1.2 sehen kannst, geben dir eine gute Vorstellung vom Aufbau der Konfigurationsdat​ei. Die mit einem ; beginnenden Zeilen sind Kommentare, die dir erklären, was genau die nachfolgende Einstellung bewirkt. Die meisten der Einstellungen wirst du, zumindest am Anfang, überhaupt nicht brauchen, einige können aber durchaus interessant sein.

1  ;Sets whether to inform all of a Player's Achievement
2  announce-player-achievements=true
3  ;Sets whether to allow items with enchantments to stack with non-enchanted items
4  allow-enchantment-stacking=false
5  ;The default message to use for user bans
6  ban-default-message=You are banned from this server.

Listing 1.2: Ausschnitt aus der Datei server.cfg

Die Einstellungen, die du in Listing 1.2 sehen kannst, gehören eher zu den weniger wichtigen: announce-player-achievements legt fest, ob alle Spieler auf einem Server informiert werden sollen, wenn ein Spieler einen Erfolg freischaltet, allow-enchantment-stacking legt fest, ob verzauberte Gegenstände im Inventar mit nicht verzauberten Gegenständen gestapelt werden können und ban-default-message legt die Nachricht fest, die einem Spieler angezeigt wird, wenn er vom Server verbannt wird.

Mit dem Wert max-players kannst du zum Beispiel angeben, wie viele Spieler sich gleichzeitig auf deinem Server befinden dürfen. Standardmäßig ist diese Einstellung auf den Wert 20 gesetzt. Mit command-block-enabled kannst du Kommandoblöcke auf deinem Server erlauben oder verbieten.

Für den Anfang dürfte aber die Konfigurationsdatei, die du im Unterordner worlds findest, interessanter sein, denn hier kannst du die Einstellungen für die Spielwelt vornehmen. Die meisten Einstellungen, die du dort vorfindest, kennst du bereits vom Erstellen von Einzelspielerwelten. Unter world-seed kannst du zum Beispiel einen Seed angeben, der beim Erstellen der Welt verwendet werden soll, und mit generate-structures kannst du angeben, ob Bauwerke wie Dörfer und Tempel auf der Karte erscheinen sollen.

Darüber hinaus kannst du aber auch noch einige weitere Einstellungen vornehmen, so kannst du zum Beispiel eine exakte Liste aller Tierarten angeben, die sich in der Welt tummeln sollen. Die Standardeinstellung dafür sieht so aus: natural-animals=Bat,Chicken,Cow,Mooshroom,Ocelot,Pig,Sheep,Wolf,Horse,Rabbit.

Du hast so viele verschiedene Möglichkeiten, deinen Server nach deinen Vorstellungen zu konfigurieren, dass es an dieser Stelle unmöglich wäre, auf alle einzugehen. Schließlich soll es hier um das Programmieren von Plugins gehen – und nicht um das Administrieren von Servern. Du kannst natürlich, wenn du möchtest, nach Herzenslust mit den Einstellungen experimentieren. Vorher solltest du dir aber eine Kopie der ursprünglichen Einstellungen anlegen, damit du, sollte es Probleme geben, immer wieder zu diesen zurückkehren kannst. Dazu kopierst du einfach die Konfigurationsdatei an einen beliebigen anderen Ort auf deinem Computer, bevor du sie veränderst. Sollte es dann später Probleme geben, kannst du sie ganz einfach wieder an ihren ursprünglichen Platz zurück kopieren, und damit werden alle Einstellungen wieder zurückgesetzt.

1.4  Rechte

Um deine Plugins später richtig ausprobieren zu können, musst du aber auf jeden Fall wissen, wie du dir selbst und anderen Spielern die richtigen Berechtigungen gibst. Standardmäßig gibt es auf jedem CanaryMod-Server vier Benutzergruppen: visitors, players, mods und admins.

Die Gruppe visitors, also Besucher, ist die Standardgruppe, in die jeder Spieler automatisch eingeordnet wird, wenn er zum ersten Mal den Server betritt. Wie du beim ersten Test schon festgestellt hast, darfst du als Besucher auf einem Server kaum etwas tun: Du kannst durch die Welt laufen, dich umschauen und Chat-Nachrichten versenden, mehr nicht.

Die nächsthöhere Gruppe ist die Gruppe players, also Spieler. Als Spieler hast du alle Berechtigungen, um »normal« spielen zu dürfen. Du darfst also zum Beispiel Blöcke abbauen und platzieren und Monster töten. Je nach Server-Konfiguration gibt es aber einige Einschränkungen, zum Beispiel darf auf vielen Servern nicht innerhalb des Spawn-Bereichs gebaut werden, also dem Bereich, in dem Spieler erscheinen, wenn sie den Server betreten.

Mit solchen Restriktionen musst du dich nicht herumschlagen, wenn du zur Gruppe der mods gehörst, also zu den Moderatoren. Diese haben nämlich zusätzlich zu den Rechten eines normalen Spielers einige Sonderrechte, ihnen ist beispielsweise das Bauen in der Spawn-Zone gestattet.

Über allen anderen Spielern stehen die Administratoren, genannt admins. Sie können nach Belieben schalten und walten und müssen sich an keinerlei Regeln halten. Du solltest daher sehr genau überlegen, wem du diese Macht auf deinem Server verleihen möchtest. Dir selbst kannst du aber, insbesondere zum Testen der Plugins, bedenkenlos Administratorrechte geben, so hast du jederzeit alles im Griff.

1.4.1  Spieler zu einer Gruppe hinzufügen

Um einen Spieler zu einer bestimmten Gruppe hinzuzufügen, kannst du folgenden Befehl in das Textfeld des Server-Fensters eingeben: /playermod group set name gruppe, wobei name durch den Namen des Spielers ersetzt werden muss und gruppe durch den Namen der Gruppe, zu der der Spieler hinzugefügt werden soll. Heißt du im Spiel zum Beispiel Reiner und möchtest dich selbst zum Administrator ernennen, so würde der passende Befehl /playermod group set Reiner admins lauten. Dabei musst du allerdings beachten, dass du den Befehl nur dann ausführen kannst, wenn sich der im Befehl genannte Spieler auch gerade auf dem Server befindet.

1.4.2  Gruppen erstellen und löschen

Sollten dir die drei standardmäßig vorhandenen Gruppen noch nicht genügen, so kannst du auch ganz einfach eigene Gruppen anlegen. Um zum Beispiel eine Gruppe mit dem Namen gruppe1 zu erstellen, musst du einfach den folgenden Befehl in das Textfeld eingeben: /groupmod add gruppe1. Wenn du möchtest, kannst du zusätzlich zum Namen der Gruppe auch noch eine Übergruppe angeben. Gibst du zum Beispiel /groupmod add gruppe1 players ein, so wird die neue Gruppe als Untergruppe der Player-Gruppe erstellt und alle Spieler in der neuen Gruppe haben automatisch alle Rechte, die die Spieler in der Player-Gruppe haben.

Möchtest du eine Gruppe löschen, so funktioniert das mit /groupmod remove und dem Namen der Gruppe, also zum Beispiel /groupmod remove gruppe1. Spieler, die sich vor der Löschung in der Gruppe befanden, werden dabei automatisch in die Übergruppe verschoben. Solltest du beim Erstellen der Gruppe keine Übergruppe angegeben haben, so verwendet der Server immer die Standardgruppe, also visitors, als Übergruppe.

1.4.3  Rechte vergeben und entziehen

Solange sich die neuen Gruppen, abgesehen vom Namen, nicht von den bestehenden Gruppen unterscheiden, ist ihr Einsatz nur begrenzt sinnvoll. In diesem Abschnitt wirst du deshalb lernen, wie du Gruppen oder auch einzelnen Spielern bestimmte Rechte verleihen und auch wieder entziehen kannst. Da es insgesamt 79 einzelne Rechte gibt, die du auf deinem Server vergeben kannst, würde es den Rahmen sprengen, sie alle an dieser Stelle aufzuführen. Stattdessen wollen wir uns an dieser Stelle nur ein Beispiel herausgreifen und anhand diesem zeigen, wie Rechte im Allgemeinen vergeben und entzogen werden können. Eine Liste aller Rechte findest du, übersichtlich zusammengefasst, im Anhang des Buches.

Die Berechtigung, auf einem Server bauen zu dürfen, wird zum Beispiel über den Namen canary.world.build aufgerufen. Um einen einzelnen Spieler ein Recht zu erteilen wird der Befehl /playermod permission add zusammen mit dem Namen des Spielers und der Bezeichnung der Berechtigung verwendet. Um einer Gruppe ein Recht zu erteilen, wird ebenfalls der Name, diesmal derjenige der Gruppe, und die Bezeichnung der Berechtigung verwendet. Lediglich das erste Wort ändert sich, sodass der Befehl /groupmod permission add lautet. Möchtest du also zum Beispiel der Gruppe gruppe1 erlauben, in der Welt zu bauen, so lautet der komplette Befehl dafür /groupmod permission add gruppe1 canary.world.build.

Um das entsprechende Recht wieder zu entziehen, musst du lediglich das Wörtchen add durch remove ersetzen – schon sind die beiden Befehle zum Entziehen von Rechten fertig: /groupmod permission remove und /playermod permission remove.

1.5  Updates

Damit hast du zunächst einmal die nötigen Grundlagen über den CanaryMod kennengelernt, die du benötigst, um eigene Plugins entwickeln zu können. Zum Abschluss dieses Kapitels noch ein Hinweis zum Thema Updates: Wie du sicher weißt, ist Minecraft ein lebendiges Spiel, das sich ständig weiterentwickelt. Diese Änderungen betreffen nicht nur das Spiel selbst, also den Client, sondern auch den Server. Jedes Mal wenn es ein größeres Minecraft-Update gibt, das neue Funktionen mitbringt, muss deshalb auch der Server aktualisiert werden, egal ob du einen Mod oder den originalen Server verwendest.

Da es sich beim CanaryMod, wie bei fast allen Mods, um ein reines Fanprojekt handelt, können schon einmal einige Tage vergehen, bis ein neues Update auch Eingang in den Mod findet. Um in der Zwischenzeit trotzdem auf deinem Server spielen zu können, musst du dich eines kleinen Tricks bedienen.

Wenn du im Minecraft-Launcher, also dem Fenster, das sich vor dem Start des eigentlichen Spiels nach einem Doppelklick auf das Minecraft-Icon öffnet, auf den Button Edit Profile klickst, so öffnet sich das in Abbildung 1.7 gezeigte Fenster, das unter anderem eine Versionsauswahl anbietet.

Abb. 1.7: Versionsauswahl im Minecraft-Launcher

Sollte dein Server einmal nicht auf dem neusten Stand sein, so kannst du aus dieser Liste einfach die Version auswählen, mit der dein Server läuft und problemlos weiterhin auf ihm spielen. Sobald dein Server aktualisiert wurde, kannst du diese Einstellung selbstverständlich wieder zurücksetzen.

1.6  Rätsel

Wie müsste der Befehl lauten, um einen Spieler mit dem Namen »Florian« zur Gruppe players hinzuzufügen?

Mit welchem Befehl kannst du eine Gruppe mit dem Namen neueSpieler erstellen, die eine Untergruppe der players-Gruppe ist?

Schlage im Anhang des Buches nach, wie der Name der Berechtigung lautet, die es einem Spieler erlaubt, die Hilfe anzuzeigen.

Wie heißt der Befehl, um diese Berechtigung der vorher erstellten Gruppe neueSpieler zu erteilen?

Kapitel 2: Java

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 Java entschieden. Bevor wir uns aber mit den Besonderheiten von Java beschäftigen und damit, warum es eine gute Entscheidung ist, Java zu lernen, 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 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 dazu geben

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, sie müssen eindeutige Handlungsvorschriften sein. Auch mit Begriffen wie »eine Prise« kann ein Computer wenig anfangen. 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.

Damit der Computer die Programmiersprache auch versteht, muss sie aber zunächst übersetzt werden, in die sogenannte Maschinensprache​. Diese Übersetzung findet durch ein Programm statt, das Compiler​ genannt wird. Das Ergebnis sind dann sogenannte Binärdateien​, die vom Computer ausgeführt werden können. Diese Binärdateien bestehen, wie in Abbildung 2.1 gezeigt, nur aus Nullen und Einsen.

Abb. 2.1: Funktionsweise eines Compilers

Der einfache Satz »Das ist ein Test.« wird so zum Beispiel zu einer 136 Zeichen langen Kette aus Nullen und Einser, die du in Listing 2.1 sehen kannst.

01000100 01100001 01110011 00100000 01101001 01110011 01110100 00100000 01100101 01101001 01101110 00100000 01010100 01100101 01110011 01110100 00101110

Listing 2.1: Binärcodierung von »Das ist ein Test.«

Merke

Ein Algorithmus ist eine eindeutige Handlungsvorschrift.

Der Compiler übersetzt Programmiersprache in Maschinensprache.

Eine Binärdatei besteht aus Nullen und Einsen.

2.2  Besonderheiten von Java

Verschiedene Programmiersprachen haben verschiedene Vor- und Nachteile. Einige sind besonders leicht zu erlernen, wie zum Beispiel Python​, andere, wie zum Beispiel C​, sind besonders für zeitkritische Anwendungen geeignet, also Anwendungen, bei denen es auf schnelle Reaktionszeiten ankommt und wieder andere sind besonders universell einsetzbar, wie zum Beispiel Java​​. Die eine »richtige« oder »beste« Programmiersprache gibt es daher nicht – je nach Anwendungsfall kann der Einsatz einer anderen Programmiersprache sinnvoll sein.

Der Hauptgrund, warum wir Java zum Programmieren unserer Plugins verwenden, ist, dass sowohl Minecraft selbst als auch der Minecraft- beziehungsweise CanaryMod-Server in Java programmiert sind. Außerdem können Java-Programme, im Gegensatz zu vielen in anderen Programmiersprachen geschriebenen Programmen, problemlos auf allen gängigen Betriebssystemen ausgeführt werden, also insbesondere auf Windows, GNU/Linux und OS X.

Damit das möglich ist, funktioniert der Java-Compiler anders als andere Compiler. Er wandelt die Programmiersprache nicht sofort in Maschinencode um, sondern zunächst in den sogenannten Java-Bytecode​​. Dieser ist ein Zwischenschritt zwischen der für Menschen gut lesbaren Programmiersprache und dem für den Computer gut lesbaren Maschinencode. Erst die sogenannte Java Virtual Machine​ (JVM​) wandelt das Programm in Maschinencode um.

Abb. 2.2: Funktionsweise des Java-Compilers

Der Vorteil: Statt jedes Programm in Maschinencode für jedes Betriebssystem, also zum Beispiel Windows, OS X und GNU/Linux übersetzen zu müssen, muss nur ein Programm, nämlich die Java Virtual Machine, für jedes Betriebssystem übersetzt werden – und das bedeutet deutlich weniger Aufwand.

2.3 Installation und Einrichtung

Bevor du mit dem eigentlichen Programmieren loslegen kannst, musst du daher dafür sorgen, dass auf deinem Computer sowohl die Java Virtual Machine als auch der Java-Compiler installiert sind. Die Java Virtual Machine hast du an dieser Stelle bereits installiert, sonst könntest du weder Minecraft noch den CanaryMod starten. Der Java-Compiler ist aber wahrscheinlich noch nicht auf deinem Computer installiert.

Um das zu testen, musst du zunächst die Eingabeaufforderung (Windows) beziehungsweise das Terminal (GNU/Linux, OS X) öffnen, denn im Gegensatz zu den meisten modernen Programmen, wie wir sie heute kennen, hat der Java Compiler keine grafische Oberfläche, sondern wird komplett über die Eingabeaufforderung bedient. Unter Windows findest du die Eingabeaufforderung entweder, in dem du den Namen einfach in das Suchfeld im Startmenü eingibst, oder ebenfalls im Startmenü unter Zubehör. Unter OS X findest du das Terminal im Ordner /Programme/Dienstprogramme oder indem du in die Suche Terminal eingibst. In der Eingabeaufforderung bzw. im Terminal gibst du dann den Befehl javac​ ein und bestätigst die Eingabe mit der Enter-Taste. Ist danach eine Ausgabe wie in Abbildung 2.3 zu sehen, ist der Java-Compiler bereits korrekt auf deinem Computer installiert und du kannst direkt weiter zu Abschnitt 2.3.2 springen. Bekommst du dagegen eine Meldung wie Der Befehl "javac" ist entweder falsch geschrieben oder konnte nicht gefunden werden. oder Ähnliches, so muss der Java-Compiler noch auf deinem Computer installiert werden.

Abb. 2.3: Ausgabe bei korrekt installiertem Java-Compiler

2.3.1  Java-Compiler installieren

Der Java-Compiler ist Teil des Java Development Kit​ (JDK​) und kann kostenlos auf der Website von Oracle heruntergeladen werden. Einen Link zum Download findest du auf buch.daniel-braun.com, dort findest du auch genauere Informationen zur Installation.

Nach der Installation solltest du die in Abschnitt 2.3 beschriebenen Schritte wiederholen, um zu testen, ob der Java-Compiler nun korrekt installiert ist. Solltest du Windows verwenden, kann es sein, dass der Befehl noch nicht funktioniert. Das bedeutet wahrscheinlich nicht, dass es einen Fehler bei der Installation gegeben hat, sondern lediglich, dass du noch eine sogenannte Umgebungsvariab​le einstellen musst.

Dazu musst du zunächst die erweiterten Systemeinstellungen deines Computers öffnen.

Windows XP, Vista und 7: Unter Windows XP, Vista und 7 öffnest du dafür zunächst das Startmenü und dann die Systemsteuerung. Dort wählst du aus der Kategorie System und Sicherheit den Eintrag System aus und im sich danach öffnenden Fenster den Eintrag Erweiterte Systemeinstellungen.

Windows 8 und 10: Unter Windows 8 kannst du diese öffnen, indem du den Begriff einfach direkt in die Suche eingibst. Unter Windows 10 dagegen musst du zunächst mit der rechten Maustaste auf das Windows-Logo in der unteren linken Ecke klicken und dort dann auf System und in dem sich öffnenden Fenster wieder auf Erweiterte Systemeinstellungen.

Nun solltest du, unabhängig von deiner verwendeten Windows-Version, das in Abbildung 2.4 gezeigte Fenster sehen. Dort findest du nun in der rechten unteren Ecke endlich auch die gesuchte Einstellung namens Umgebungsvariablen. Bei einem Klick darauf öffnet sich wiederum das in Abbildung 2.5 gezeigte Fenster.

Dort wählst du dann, wie in Abbildung 2.5 gezeigt, den Eintrag PATH aus und klickst anschließend auf Bearbeiten. Dann öffnet sich ein langes Textfeld, in dem es schon zahlreiche Einträge gibt, die auf keinen Fall geändert werden dürfen. Stattdessen solltest du am Ende, abgetrennt durch ein Semikolon, den Pfad angeben, an dem du zuvor das Java Development Kit installiert hast. Standardmäßig sähe das so aus: C:\Program Files\Java\jdk1.8.0_25\bin;. Danach musst du die Änderungen nur noch mit OK und Übernehmen bestätigen. Anschließend sollte der javac-Befehl dann in der Eingabeaufforderung funktionieren.

Abb. 2.4: Erweiterte Systemeinstellungen

Abb. 2.5: Umgebungsvariablen

2.3.2 Ordner einrichten

Im Verlaufe des Buches wirst du zahlreiche Plugins programmieren, einige davon auch in verschiedenen Versionen. Damit du darüber später leichter den Überblick behalten kannst, solltest du jetzt schon vorsorgen.

Am besten legst du einen eigenen Ordner an, in dem du später alle Projekte aus dem Buch speicherst. Prinzipiell kannst du diesen Ordner natürlich, wie den des Servers, wieder speichern, wo du möchtest. Es wird dir später aber das Leben erleichtern, wenn du ihn im selben Verzeichnis wie den Server-Ordner platzierst, unter Windows also zum Beispiel unter C:\ und unter GNU/Linux und OS X unter /home/Benutzername. bzw. /Benutzer/Benutzername. Als Namen für den Ordner kannst du zum Beispiel einfach plugins wählen.

2.4  Editor

Damit sind auch fast alle Vorbereitungen abgeschlossen, die nötig sind, bevor es mit dem Programmieren losgehen kann. Was dir jetzt noch fehlt, ist ein Programm zum Schreiben deiner zukünftigen Plugins. Grundsätzlich kannst du dazu nahezu jedes Programm verwenden, mit dem man Texte verfassen kann. Der mit Windows mitgelieferte Editor, den du im Startmenü unter Zubehör findest, ist zum Beispiel völlig ausreichend. OS X bringt das Programm TextEdit mit, das sich im Ordner Programme befindet oder über die Suche gefunden werden kann. Solltest du dich für den Windows-Editor entscheiden, so musst du beim Speichern darauf achten, dass du als Dateityp den Eintrag Alle Dateien auswählst. Beim Programm TextEdit sollte nach dem Neuanlegen eines Dokuments der Menüpunkt Format|In reinen Text umwandeln ausgewählt werden. Und unabhängig davon, welches Programm du verwendest, solltest du beim Speichern an den Dateinamen die Endung .java anhängen, damit dein Computer weiß, dass es sich bei der gespeicherten Datei um Java-Code handelt.

Wenn du es gerne etwas komfortabler hättest, kannst du aber auch einen Editor wählen, der speziell dafür entwickelt wurde, Java-Programme zu schreiben. Solche Editoren bieten dir in der Regel zahlreiche Komfortfunktionen, wie das automatische Einfärben von Quellcode, automatisches Einrücken oder sogar eine automatische Vervollständigung an. Einige Editoren, die besonders viele solcher Zusatzfunktionen mitbringen, nennt man auch integrierte Entwicklungsumgebungen, oder englisch Integrated Development Environment, kurz IDEs. Zu den bekanntesten Java-IDEs gehören zum Beispiel Eclipse und NetBeans.

Diese sind mitunter allerdings so komplex, dass die Beschreibung ihrer Bedienung eigene Bücher füllt. Fürs Erste solltest du daher vielleicht einen etwas weniger umfangreichen Editor wählen, da du die meisten Funktionen der großen IDEs anfangs ohnehin nicht nutzen wirst. Der Editor jEdit, der kostenlos für alle gängigen Betriebssysteme erhältlich ist, bietet sich dafür zum Beispiel an. Den Link zum Download sowie eine Installations-Anleitung dafür findest du ebenfalls unter buch.daniel-braun.com.

Abb. 2.6: Speichern von Dateien mit dem Windows-Editor

Abb. 2.7: jEdit

2.5  Zusammenfassung

Begriff

Bedeutung

Algorithmus

Eine eindeutige Handlungsvorschrift, die festlegt, was genau zum Beispiel ein Programm tun soll.

Compiler

Ein Programm, das Programmiersprache in Maschinensprache übersetzt.

Binärdatei

Eine Datei, die Maschinensprache enthält, die nur aus Nullen und Einsen besteht.

Kapitel 3:Das erste Plugin

Nachdem Java und der CanaryMod-Server fertig eingerichtet sind, kann es nun endlich mit dem Programmieren von Minecraft-Plugins losgehen. Da aller Anfang bekanntlich schwer ist, wollen wir mit etwas Einfachem beginnen: Ein freundliches kleines Plugin, das dich beim Start des Servers mit den Wörtern begrüßt.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!