Minecraft Plugins programmieren lernen?

2 Antworten

Der erste Schritt wäre es, eine Programmiersprache zu lernen, mit der du dann auch Minecraft Plugins entwickeln kannst. Java wäre da die populärste Option, zu der du auch den besten Support finden wirst. Eine weniger verbreitete Alternative ist zum Beispiel JavaScript (s. ScriptCraft-Projekt). Ich werde mich im Folgenden aber nur auf den Java-Lernpfad fokussieren.

Ziel sollte es für das Erste sein, zunächst mit den wichtigsten Grundlagen (Variablen, Operatoren, Kontrollstrukturen, Collections, OOP) soweit vertraut zu werden, sodass du sie halbwegs sicher einsetzen kannst. D.h. du kennst die dazugehörige Syntax, weißt, wann sowie wie welches dieser Werkzeuge für einen Lösungsweg einsetzbar wäre und bist in der Lage, eigene Lösungswege für Aufgaben zumindest im Ansatz zu entwerfen.

Letzteres erfordert zum einen einiges an Praxisübung und zum anderen ist es aus meiner Sicht sehr ratsam, sich einen Arbeitsstil anzueignen, der definitiv eine Planungsphase vor der tatsächlichen Implementation inkludiert. In dieser Phase geht es erst einmal nur darum, das gestellte Problem zu erfassen und (wenn nötig) in Teilschritte zu zerlegen, um im Anschluss Teillösungen finden und zu einem großen Algorithmus (oder System mit mehreren Algorithmen) zusammenführen zu können. Skizzen oder Diagramme (wie Programmablaufpläne, Klassendiagramm, ...) sind hierbei hilfreich und sollten die Arbeit enorm vereinfachen.

Tipps für Lernquellen, Seiten mit Aufgabenstellungen, u.ä., die ich empfehlen kann, habe ich in diesem Beitrag schon einmal aufgelistet. Für (tendentiell fortgeschrittene) Übungen eignen sich ansonsten Klassiker, wie:

  • Eigenimplementation eines Stacks
  • Eigenimplemenation einer doppelt verketteten Liste
  • Eigenimplementation eines AVL-Baum mit dazugehörigem Iterator und einer binären Suchmethode, um Werte in ihm zu finden
  • Minispiele wie Space Invaders, Pong, Snake, Tetris, Pacman (hierbei würde sich Processing gut für das Zeichen der Spieloberfläche eignen)

Bezüglich Minecraft sollte eine Bukkit API-Implementation (Spigot oder Paper) völlig ausreichen, um die von dir aufgezählten Funktionen zu bauen.

Im Vergleich ist Paper eine Weiterentwicklung von Spigot, die unter anderem noch mehr API-Funktionen und Optimierungen als Spigot bietet. Für dein Vorhaben eignen sich allerdings beide Bukkit-Forks.

Eine praktische Einarbeitung gelingt letzten Endes dann ebenso am besten über Praxisprojekte. Ganz zum Start könnten das bspw. Plugins sein, die bei Aufruf eines neu erstellten Commands Nachrichten an den Nutzer schicken oder die auf Interaktionen des Spielers (z.B. Setzen/Entfernen von Blöcken) reagieren.

Deine Ideen (Timer, Spielzeitbegrenzung oder eine Begrenzung der Lebensanzahl) klingen aber auch nicht schlecht.

Ich persönlich habe vor mehreren Jahren so gestartet:

Ich habe mir YouTube Videos zu dem Thema angeguckt und erstmal die Sachen die die Person im Video macht, versucht nachzumachen.

(Damals war es die Videoreihe: https://youtube.com/playlist?list=PLry1c-adUOIH3o2_K76jfznpw0-_3VpzY aber bitte heutzutage nicht mehr nutzen, sehr vieles ist Outdatet)

Gleichzeitig habe ich mich auch schon an ein eigenes Projekt gesetzt, wo ich dann Sachen hinzugefügt habe, welche zu den Videos passen welche ich gerade geguckt habe.

Ganz wichtig sind vor allem auch eigene Projekte zu haben, diese sind ganz wichtig um das Wissen was du nur abgeschrieben hast zuvor wirklich zu vertiefen und abzuspeichern, außerdem machen sie deutlich mehr Spaß.

Auch würde ich dir vor allem für den Anfang ABSOLUT von KIs abraten. Auch wenn du denkst du verstehst deren Code, lernst du davon ABSOLUT nichts.

Woher ich das weiß:eigene Erfahrung – Spiele seit der 1.7