Let‘s Play.Programmieren lernen mit Java und Minecraft - Daniel Braun - E-Book

Let‘s Play.Programmieren lernen mit Java und Minecraft E-Book

Daniel Braun

0,0

Beschreibung

  • Für Bukkit und Spigot
  • 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.

Daniel Braun zeigt dir, wie du mit Java 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 Java programmieren, um deine eigene Minecraft-Welt zu erschaffen. So sind deiner eigenen Kreativität keine Grenzen mehr gesetzt.

Aus dem Inhalt:
  • Eigenen Minecraft-Server mit Bukkit oder Spigot installieren und einrichten
  • Eigene Befehle definieren und Chat-Nachrichten versenden
  • Java-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

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 388

Veröffentlichungsjahr: 2023

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsverzeichnis
Impressum
Einleitung
Kapitel 1: Java
1.1 Programmiersprachen
1.2 Besonderheiten von Java
1.3 Installation und Einrichtung
1.3.1 Java-Compiler installieren
1.3.2 Ordner einrichten
1.4 Editor
1.5 Zusammenfassung
Kapitel 2: Minecraft-Server
2.1 Installation
2.1.1 CraftBukkit
2.1.2 Spigot
2.2 Konfiguration
2.3 Befehle
2.4 Verbinden
2.5 Updates
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: Eclipse installieren und einrichten
5.1 Installation
5.2 Einrichtung
5.3 Ein neues Projekt anlegen
5.4 Neue Dateien in einem Projekt anlegen
5.4.1 Java-Datei
5.4.2 Info-Datei
5.5 Kompilieren und packen
Kapitel 6: Variablen und Konstanten
6.1 Variablen
6.1.1 Zahlen
6.1.2 Zeichenketten
6.1.3 Konvertierung
6.1.4 Arrays
6.2 Konstanten
6.3 Rätsel
6.4 Zusammenfassung
Kapitel 7: Schleifen
7.1 Kürbis-Plugin
7.1.1 Positionierung
7.1.2 Blöcke platzieren
7.2 Die verschiedenen Schleifen
7.2.1 for-Schleife
7.2.2 while-Schleife
7.2.3 do-while-Schleife
7.2.4 Verschachtelte Schleifen
7.3 Rätsel
7.4 Zusammenfassung
Kapitel 8: Verzweigungen
8.1 if-Verzweigung
8.2 case-Verzweigung
8.3 Rätsel
8.4 Zusammenfassung
Kapitel 9: Funktionen
9.1 Deklaration von Funktionen
9.2 Rückgabewerte
9.3 Parameter
9.4 Anwendungsbeispiel
9.5 Rätsel
9.6 Zusammenfassung
Kapitel 10: Klassen und Objekte
10.1 Die ganze Welt ist ein Objekt
10.2 Erstellung einer eigenen Klasse
10.3 Funktionen in Klassen
10.4 Zugriffskontrolle
10.5 Vererbung
10.6 Abstrakte Methoden und Klassen
10.7 Bau-Plugin
10.8 Rätsel
10.9 Zusammenfassung
Kapitel 11: Bauen
11.1 Notunterkunft
11.1.1 Wände und Decke
11.1.2 Tür
11.1.3 Bett
11.1.4 Fackel
11.2 Runde Objekte
11.2.1 Kreise
11.2.2 Kugeln
11.3 Zusammenfassung
Kapitel 12: Schilder
12.1 Hängende Schilder
12.2 Stehende Schilder
12.3 Text festlegen
12.3.1 Farbe
12.3.2 Formatierung
12.4 Schilder-Plugin (Listen)
12.4.1 Listen-Grundlagen
12.4.2 Das Plugin
12.5 Rätsel
12.6 Zusammenfassung
Kapitel 13: Listener
13.1 Grundgerüst
13.2 Spieler-Events
13.3 Kreaturen-Events
13.4 Block-Events
13.5 Inventar-Events
13.6 Server-Events
13.7 Fahrzeug-Events
13.8 Wetter-Events
13.9 Welt-Events
13.10 Mehrere Listener in einem Plugin
13.11 Zusammenfassung
Kapitel 14: Crafting-Rezepte
14.1 Rezepte festlegen
14.2 Eigene Rezepte entwerfen
14.3 Feuerschwert
14.4 Enderbogen
14.5 Rätsel
14.6 Zusammenfassung
Kapitel 15: Informationen dauerhaft speichern
15.1 Konfigurationsdateien
15.1.1 Lesen
15.1.2 Schreiben
15.2 Objekte in Dateien speichern
15.3 Zusammenfassung
Kapitel 16: Eigene Spielmodi entwickeln
16.1 Schneeballschlacht
16.1.1 Schneebälle verteilen
16.1.2 Schneebälle automatisch auffüllen
16.1.3 Punkte zählen
16.1.4 Highscore-Liste anzeigen
16.1.5 Vollständiger Quellcode
16.2 Sammelspiel
16.2.1 Aufbau des Plugins
16.2.2 Plugin starten
16.2.3 Spieler betritt den Server
16.2.4 Gegenstände zählen
16.2.5 Auftrag anzeigen
16.2.6 Vollständiger Quellcode
16.3 Rätsel
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: Materialien

Daniel Braun

Let’s Play: Programmieren lernen mit Java und Minecraft

Plugins erstellen ohne Vorkenntnisse

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-7475-0783-4 5. Auflage 2023

www.mitp.de E-Mail: [email protected] Telefon: +49 7953 / 7189 - 079 Telefax: +49 7953 / 7189 - 082

© 2023 mitp Verlags GmbH & Co. KG

KEIN OFFIZIELLES MINECRAFT-PRODUKT. NICHT VON MOJANG GENEHMIGT ODER MIT MOJANG VERBUNDEN.

Minecraft and its graphics are a trademark of Mojang Synergies AB.

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, Nicole Winkel Sprachkorrektorat: Petra Heubach-Erdmann, Knut Lorenzen Coverbild: Daniel Braunelectronic publication: III-satz, Kiel, 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 das Richtige für dich. Denn im Verlaufe dieses Buches lernst du, wie man mithilfe von Java und dem Bukkit- oder Spigot-Server 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 möchtest, ganze Häuser mit einem einfachen Chat-Befehl bauen oder sogar einen eigenen Spielmodus programmieren 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 so weit ist, liegt allerdings noch ein ordentliches Stück Weg vor dir. Die ersten beiden Kapitel 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 Bukkit- oder Spigot-Server 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.

In Kapitel 5 lernst du Eclipse kennen, einen Editor, der dich beim Programmieren von Plugins mit vielen nützlichen Funktionen unterstützen kann. Die Kapitel 6 bis 10 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 elfte 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. Weiter geht es danach mit dem Bau von Schildern, denen das gesamte zwölfte Kapitel gewidmet ist.

Und wenn dir selbst ein Knopfdruck noch zu viel ist, dann wird dir das dreizehnte 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 14 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.

Kapitel 15 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 16 eigene Spielmodi kreieren willst, also sozusagen ein Spiel im Spiel. Wie 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!

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.

Für Fragen, Kritik oder Anregungen zum Buch oder generell zu Minecraft-Plugins, kannst du mich gerne jederzeit kontaktieren. Du erreichst mich per Mail an [email protected] oder über meine Website www.daniel-braun.com.

Downloads zum Buch

Unter der Webadresse buch.daniel-braun.com findest du:

Links zu allen Downloads, die du benötigst

Alle Plugins, die du im Rahmen des Buches programmieren wirst, falls du den Code nicht aus dem Buch abtippen möchtest

Mein besonderer Dank gilt Karl-Heinz Barzen, der den Entstehungsprozess dieses Buches unermüdlich mit zahlreichen hilfreichen Kommentaren und Anmerkungen begleitet und damit einen wichtigen Beitrag dazu geleistet hat, dass dieses Buch möglichst verständlich und einsteigerfreundlich wird.

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

Daniel Braun

Kapitel 1:  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.

1.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 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 Rezept auf Chinesisch 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 1.1 gezeigt, nur aus Nullen und Einsen.

Abb. 1.1: Funktionsweise eines Compilers

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

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

Listing 1.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.

1.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-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 macOS.

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.

Der Vorteil: Statt jedes Programm in Maschinencode für jedes Betriebssystem, also zum Beispiel Windows, macOS 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.

Abb. 1.2: Funktionsweise des Java-Compilers

1.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. Auf manchen Systemen, insbesondere GNU/Linux-Systemen, sind beide Programme schon vorinstalliert. Um zu testen, ob das bei deinem System der Fall ist, musst du zunächst die Eingabeaufforderung (Windows) beziehungsweise das Terminal (GNU/Linux, macOS) ö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, indem du den Namen einfach in das Suchfeld im Startmenü eingibst, oder ebenfalls im Startmenü unter Zubehör. Unter macOS findest du das Terminal im Ordner /Programme/Dienstprogramme oder indem du in die Suche Terminal eingibst. In der Eingabeaufforderung beziehungsweise 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 1.3 zu sehen, ist der Java-Compiler bereits korrekt auf deinem Computer installiert und du kannst direkt weiter zu Abschnitt 1.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. 1.3: Ausgabe bei korrekt installiertem Java-Compiler

1.3.1  Java-Compiler installieren

Der Java-Compiler ist, wie auch die Java Virtual Machine, Teil des Java Development Kit​ (JDK​) und kann kostenlos heruntergeladen werden. Einen Link zum Download findest du auf buch.daniel-braun.com.

Unter GNU/Linux kannst du Java direkt über den Paketmanager deiner Wahl installieren. Unter macOS und Windows lädst du zunächst ein gepacktes Verzeichnis herunter, das nach dem Download entpackt werden muss. Dieses Verzeichnis, das je nach Version zum Beispiel den Namen jdk-20.0.2 trägt, kopierst du unter macOS in den Ordner /library/Java/JavaVirtualMachines/ und unter Windows in ein beliebiges Verzeichnis deiner Wahl, zum Beispiel direkt in C:\. Unter Windows musst du dieses Verzeichnis dann noch zur sogenannte PATH-Variable hinzufügen. Dazu musst du zunächst die erweiterten Systemeinstellungen deines Computers öffnen.

Unter Windows 8, 10 und 11 kannst du die erweiterten Systemeinstellungen öffnen, indem du den Begriff einfach direkt in die Suche eingibst. Alternativ kannst du auch 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 1.4 gezeigte Fenster sehen. Dort findest du in der rechten unteren Ecke einen Button mit der Beschriftung Umgebungsvariabl​en. Bei einem Klick darauf öffnet sich das in Abbildung 1.5 gezeigte Fenster.

Dort wählst du dann, wie in Abbildung 1.5 gezeigt, den Eintrag PATH aus und klickst anschließend auf Bearbeiten. Sollte der Eintrag nicht vorhanden sein, so kannst du direkt zum nächsten Absatz springen. Danach ö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:\jdk-20.0.2\bin;

Abb. 1.4: Erweiterte Systemeinstellungen

Je nachdem, welche Java-Version du installiert hast, kann der Pfad aber, insbesondere bei der Versionsnummer, leicht abweichen. Daher solltest du unbedingt darauf achten, den tatsächlichen Installationspfad zu nutzen. Danach musst du die Änderungen nur noch mit OK und Übernehmen bestätigen.

Sollte es bei dir noch keinen Eintrag mit dem Namen PATH geben, so kannst du diesen ganz einfach selbst anlegen. Dazu klickst du statt auf Bearbeiten einfach auf Neu. Im Fenster, das sich daraufhin öffnet, gibst du als Name der Variablen das Wort PATH ein und als Wert der Variablen den Pfad zur Installation, beendet durch ein Semikolon, und bestätigst deine Eingabe mit OK.

Anschließend sollte der javac-Befehl dann in der Eingabeaufforderung funktionieren.

Abb. 1.5: Umgebungsvariablen

1.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 macOS unter /home/Benutzername beziehungsweise /Benutzer/Benutzername. Als Namen für den Ordner kannst du zum Beispiel einfach plugins wählen.

1.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. macOS 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.

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

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 sehr komplex zu bedienen. 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 Installationsanleitung findest du ebenfalls unter buch.daniel-braun.com.

Abb. 1.7: jEdit

1.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.