Andy Hunt. Programmieren lernen mit Minecraft-Plugins



Ähnliche Dokumente
Andy Hunt. Programmieren lernen. mit Minecraft-Plugins. dpunkt.verlag

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln

VMware vrealize Automation Das Praxisbuch

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse

Michael Kurz Martin Marinschek


Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

Praxisbuch BI Reporting

Konfigurationsmanagement mit Subversion, Ant und Maven

Über die Herausgeber

IT-Service-Management mit ITIL 2011 Edition

Cloud-Computing für Unternehmen

IT-Servicemanagement mit ITIL V3

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren

Die Computerwerkstatt

Basiswissen Medizinische Software

Praxiswissen TYPO3 CMS 7 LTS

Prof. Dr. Matthias Knoll

Basiswissen Medizinische Software

CNC-Fräsen für Maker und Modellbauer

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

IT-Servicemanagement mit ITIL V3

JavaScript kinderleicht!

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski

Über die Autoren.

Maik Schmidt

Professionell blitzen mit dem Nikon Creative Lighting System

Dr. Michael Hahne

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann

Software modular bauen

Elisabeth Hendrickson Übersetzerin: Meike Mertsch

IT-Projektverträge: Erfolgreiches Management

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte.

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement,

Fotografieren lernen Band 2

IT-Controlling für die Praxis

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung

Dr. Carola Lilienthal

arbeitete im Max-Planck-Institut und an der Uni Köln. Von ihm sind bereits mehrere Bücher zu Webthemen erschienen.

München 2014) und»uml2 glasklar«(carl Hanser Verlag München

Basiswissen Software-Projektmanagement

Heinrich Hemme, Der Mathe-Jogger 2

Michael Firnkes

Web-Apps mit jquery Mobile

Microsoft Office:mac 2011 Das Grundlagenbuch: Home and Student

Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO Eine Einführung für Manager und Projektleiter

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Leitfaden Web-Usability

Soft Skills für Softwareentwickler

Einsteigerkurs DSLR-Video

Jens Jacobsen. Website-Konzeption. Erfolgreiche Websites planen, umsetzen und betreiben. 7., überarbeitete und erweiterte Auflage

Basiswissen Software- Projektmanagement

MINECRAFT SERVER AUF AZURE

IT-Unternehmensarchitektur

X.systems.press ist eine praxisorientierte Reihe zur Entwicklung und Administration von Betriebssystemen, Netzwerken und Datenbanken.

Task: Nmap Skripte ausführen

Managementsysteme für IT-Serviceorganisationen

Microsoft Windows XP SP2 und windream

Datawarehousing mit SAP BW 7

Soft Skills für Softwareentwickler

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Social Media Analytics & Monitoring

Der Autor ist seit dem Jahr 2001 bei der Firma GeNUA mbh als Security Consultant und gegenwärtig als Koordinator für Intrusion Detection tätig.

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Website. zur eigenen. Ihr Weg ins Web: Domain, Hoster, Installation, Verwaltung, Pflege und IT-Recht. Websites. erstellen

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Tom Gansor Dr. Andreas Totok

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Basiswissen Softwaretest

Konfiguration einer Sparkassen-Chipkarte in StarMoney

Basiswissen Softwaretest

Das Google Analytics-Buch. Cathrin Tusche

Installationsanleitung xdsl Privat unter Windows XP

Informatik 1 Tutorial

ANLEITUNG GERÄTEREGISTRATION AN KRZ.SMK

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Wir freuen uns, dass Sie sich für ein E-Book unseres Verlagshauses entschieden haben.

Seniorenbüros im Land Brandenburg

Agiles Produktmanagement mit Scrum

Installation und Einrichtung egk-lesegeräte

Wir freuen uns, dass Sie sich für ein E-Book unseres Verlagshauses entschieden haben.

Installation und Einrichtung egk-lesegeräte

Martina Seidl Marion Brandsteidl Christian Huemer Gerti Kappel. Classroom. Eine Einführung in die objektorientierte Modellierung

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Tanja Hartwig genannt Harbsmeier. Up- und Cross-Selling

Avira Management Console AMC Serverkonfiguration zur Verwaltung von Online-Remote-Rechnern. Kurzanleitung

Übung - Datensicherung und Wiederherstellung in Windows Vista

Die Kunst der JavaScript- Programmierung

Installation und Einrichtung egk-lesegeräte

TeamSpeak3 Einrichten

Installationsanleitung xdsl Privat unter Windows XP PPTP Version

LineQuest-Leitfaden LineQuest Dialog-Portal. Generieren der LineQuest-Auswertungsdatei

Transkript:

Andy Hunt ist Autor bzw. Co-Autor von mehr als einem halben Dutzend Büchern rund um die Themen Pragmatic Programming und Agile. Er spricht regelmäßig und weltweit auf Entwicklerkonferenzen. Minecraft nutzt er, um seinem Sohn das Programmieren beizubringen. Zu diesem Buch sowie zu vielen weiteren dpunkt.büchern können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei dpunkt.plus + : www.dpunkt.de/plus

Andy Hunt Programmieren lernen mit Minecraft-Plugins

Andy Hunt Übersetzung: G&U Language & Publishing Services, gundu.com Lektorat: Boris Karnikowski Fachlektorat: Tobias Overkamp, Solingen Copy-Editing: Friederike Daenecke, Zülpich Herstellung: Susanne Bröckelmann, Heidelberg Satz: Ulrich Borstelmann, Dortmund Umschlaggestaltung: Helmut Kraus, www.exclam.de Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn 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-86490-220-8 1. Auflage 2015 Translation Copyright für die deutschsprachige Ausgabe 2015 dpunkt.verlag GmbH Wieblinger Weg 17 69123 Heidelberg Copyright der amerikanischen Originalausgabe 2014 The Pragmatic Programmers, LLC. Title of American original: Learn to Program with Minecraft Plugins Published by The Pragmatic Programmers, LLC. ISBN: 978-1-941222-94-2 Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen. 5 4 3 2 1 0

Inhaltsverzeichnis Hier geht es los! 1 Für wen ist dieses Buch gedacht?................................................ 2 Erste Schritte................................................................... 2 Ein Sprung ins kalte Wasser...................................................... 3 Wo bekommst du Hilfe?......................................................... 4 Schreibweisen.................................................................. 5 Kapitel 1: Erteile deinem Computer Befehle 7 Die Kommandozeile einsetzen.................................................. 8 Orientierung in Dateiverzeichnissen............................................11 Probiere es selbst aus!......................................................17 Wenn es nicht funktioniert.................................................. 18 Auf dem Desktop beginnen....................................................19 Und nun etwas Spaß!.......................................................20 Gebräuchliche Befehle.........................................................21 Weiter geht s!..................................................................21 Kapitel 2: Einen Editor und Java hinzufügen 23 Einen Editor zum Programmieren installieren...................................24 Probiere es selbst aus!......................................................25 Die Programmiersprache Java installieren....................................... 26 Probiere es selbst aus!......................................................28 Wenn der Befehl»java«nicht gefunden wird....................................29 Andere Ursachen für Fehler....................................................31 Den Minecraft-Client und -Server installieren...................................32 Den grafischen Minecraft-Client installieren.................................32 Den CanaryMod-Server installieren.........................................33 Weiter geht s!..................................................................39

vi Inhaltsverzeichnis Kapitel 3: Plugins erstellen und installieren 41 Plugin: HelloWorld.............................................................44 Konfiguration mit Canary.inf....................................................46 Build und Installation mit»build.sh«............................................47 EZPlugin verwenden...........................................................51 Weiter geht s!..................................................................53 Kapitel 4: Variablen, Funktionen und Schlüsselwörter 55 Daten mit Variablen festhalten.................................................57 Plugin: BuildAHouse...........................................................59 Unterschiedliche Arten von Zahlen.......................................... 61 Zeichenketten oder Strings.................................................63 Probiere es selbst aus!......................................................64 Plugin: Simple.................................................................65 Anweisungen in Funktionen gruppieren........................................67 Funktionen in Java definieren...............................................69 Probiere es selbst aus!......................................................72 Code in Schleifen wiederholen.................................................74 Entscheidungen mit»if«-anweisungen treffen..................................75 Vergleiche mit booleschen Bedingungen.......................................76»while«-Schleifen: Wiederholungen aufgrund einer Bedingung.................. 77 Probiere es selbst aus!......................................................78 Weiter geht s!..................................................................79 Kapitel 5: Objekte 81 In Minecraft ist alles ein Objekt.................................................81 Probiere es selbst aus!......................................................82 Wozu Objekte?................................................................. 83 Daten und Anweisungen zu Objekten kombinieren.............................86 Objekte erstellen...........................................................89 Plugin: PlayerStuff.............................................................90 Probiere es selbst aus!......................................................93 Weiter geht s!..................................................................93 Kapitel 6: Chat-Befehle, Positionen und Ziele hinzufügen 95 Woher kennt Minecraft deine Plugins?.......................................... 95 Plugin: SkyCmd................................................................96 Chat-Befehle verwenden.......................................................97 Minecraft-Koordinaten.........................................................98 Probiere es selbst aus!......................................................99

Inhaltsverzeichnis vii Blöcke und Entitäten in der Nähe finden...................................... 101 Plugin: LavaVision............................................................ 101 Weiter geht s!................................................................ 104 Kapitel 7: Stapelweise Variablen: Arrays 105 Variablen und Objekte in Blöcken............................................. 105 Globale Variablen......................................................... 106 Was ist geschehen?....................................................... 110 Probiere es selbst aus!.................................................... 111 Java-Arrays.................................................................. 111 Plugin: ArrayOfBlocks........................................................ 113 Probiere es selbst aus!.................................................... 115 Arraylisten verwenden....................................................... 116 Probiere es selbst aus!.................................................... 117 Plugin: ArrayAddMoreBlocks................................................. 118 Probiere es selbst aus!.................................................... 120 Weiter geht s!................................................................ 120 Kapitel 8: Stapelweise Variablen: Hashmaps 123 Hashmaps verwenden....................................................... 123 Probiere es selbst aus!.................................................... 126 Öffentlich oder privat?....................................................... 127 Plugin: NamedSigns.......................................................... 128 Die Hashmap»signs«..................................................... 131 Die Funktion»parseArgs«................................................. 132 Der Befehl»/signs new«................................................... 132 Der Befehl»/signs set«.................................................... 133 Probiere es selbst aus!.................................................... 134 Weiter geht s!................................................................ 134 Kapitel 9: Ändern, spawnen und lauschen in Minecraft 137 Blöcke ändern............................................................... 138 Plugin: Stuck................................................................. 138 Probiere es selbst aus!.................................................... 143 Entitäten ändern............................................................. 143 Entitäten spawnen........................................................... 145 Plugin: FlyingCreeper........................................................ 146 Auf Ereignisse lauschen...................................................... 148 Plugin: BackCmd............................................................. 150 Probiere es selbst aus!.................................................... 154

viii Inhaltsverzeichnis Berechtigungen.............................................................. 155 Berechtigungen festlegen und verwalten................................. 155 Weiter geht s!................................................................ 156 Kapitel 10: Zeitgesteuerte Ereignisse 159 Was geschieht wann?........................................................ 159 Code in eine eigene Klasse stellen............................................ 162 Was gehört in eine Klasse?................................................ 162 Eine ausführbare Aufgabe erstellen........................................... 163 Zur späteren Ausführung einplanen....................................... 164 Zur einmaligen oder kontinuierlichen Ausführung einplanen.............. 165 Plugin: CowShooter.......................................................... 165 Weiter geht s!................................................................ 169 Kapitel 11: Konfigurationsdateien verwenden und Spieldaten speichern 171 Konfigurationsdateien verwenden............................................ 172 Probiere es selbst aus!.................................................... 175 Plugin: SquidBombConfig.................................................... 176 Spieldaten in einer Datenbank speichern..................................... 178»DataAccess«-Objekte.................................................... 179 Plugin: LocationSnapshot.................................................... 181 savelocations............................................................ 182 Ausnahmen abfangen.................................................... 183 loadlocations............................................................ 184 Plugin: BackCmd mit Speicheroption......................................... 186 Die Klasse»SavedLocation«erstellen...................................... 187 In der Datenbank lesen und schreiben.................................... 189 Umwandlung zwischen Location und String............................... 190 Stackverhalten........................................................... 191 Speicher- und Ladefunktionen zu»backcmd«hinzufügen................. 193 Testen.................................................................... 195 Probiere es selbst aus!.................................................... 196 Weiter geht s!................................................................ 196 Kapitel 12: Code sicher aufbewahren 199 Git installieren............................................................... 200 Änderungen festhalten...................................................... 201 Eine einfache Undo-Möglichkeit.............................................. 204 Zwischen mehreren Realitäten wechseln..................................... 208 Probiere es selbst aus!.................................................... 209

Inhaltsverzeichnis ix Sicherung in der Cloud....................................................... 212 Code bereitstellen........................................................... 214 Weiter geht s!................................................................ 216 Kapitel 13: Ein eigenes Plugin entwerfen 219 Eine Idee haben.............................................................. 220 Probiere es selbst aus!.................................................... 221 Das Material zusammenstellen............................................... 221 Probiere es selbst aus!.................................................... 223 Das Material anordnen....................................................... 223 Probiere es selbst aus!.................................................... 226 Die einzelnen Teile ausprobieren............................................. 226 Probiere es selbst aus!.................................................... 228 Jetzt geht es ins Detail: die Funktion»spawnCows()«....................... 229 Probiere es selbst aus!.................................................... 232 Weitere Details: CreeperCowTimer........................................ 232 Erforderliche Änderungen................................................ 234 Die einzelnen Teile zusammenfügen.......................................... 236 Probiere es selbst aus!.................................................... 243 Dies war erst der Anfang..................................................... 246 Anhang Anhang 1: Fehlermeldungen lesen 247 Fehlermeldungen des Java-Compilers........................................ 247 javac: cannot find symbol................................................. 248 javac: Fehlendes Semikolon............................................... 249 javac: illegal start of expression........................................... 250 javac: class... is public, should be declared in a file named................... 250 javac: incompatible types................................................. 251 Fehlermeldungen des Canary-Servers........................................ 252 Serverprotokoll: Plugin kann nicht geladen werden........................ 252 Minecraft-Konsole: Unbekannter Befehl................................... 252 Anhang 2: Die Dokumentation lesen 253 Die Canary-JavaDoc-Dokumentation......................................... 253 Die JavaDoc-Dokumentation von Oracle...................................... 254 Wiki und Tutorials............................................................ 256

x Inhaltsverzeichnis Anhang 3: Einen Desktop-Server installieren 257 Die einfache Vorgehensweise: LogMeIn Hamachi............................. 258 Die schwierige Vorgehensweise: manuell..................................... 259 Statisches und dynamisches DNS......................................... 260 Die Firewall öffnen........................................................ 261 Portweiterleitung......................................................... 263 Anhang 4: Einen Cloud-Server installieren 267 Was ist die Cloud?............................................................ 267 Remotebetriebssysteme..................................................... 269 Remotezugriff............................................................... 270 SSH-Schlüssel einrichten.................................................. 272 Administratoren mit Root-Berechtigungen................................ 274 Den Root-Zugriff absichern............................................... 275 Pakete installieren........................................................... 277 Java installieren.............................................................. 278 Ausführung über das Netzwerk............................................... 278 Domainnamen............................................................... 279 Wie geht es weiter?.......................................................... 280 Anhang 5: Spickzettel 281 Java......................................................................... 281 Literaldatentypen........................................................ 281 Mathematische Operatoren............................................... 282 Vergleichsoperatoren..................................................... 282 Elemente von Java........................................................ 283 Sichtbarkeitsmodifizierer in Java.......................................... 284 Datentypkonvertierungen................................................ 285 Anhang 6: Glossar 287 Anhang 7: Gebräuchliche Importe 291 Literatur 293 Index 295