Minecraft Plugin für verschiedene Versionen?

2 Antworten

Solange du auf der Bukkit-API bleibst, ist es automatisch weitgehend rückwärtskompatibel - Das ist der grundlegende Sinn dieser API!

Um eine große Bandbreite zu unterstützen, solltest du einen progressiven Ansatz wählen.

Du machst zuerst ein Grundplugin für die niedrigste zu unterstützende Version (1.8 in diesem Fall).

Dann, nachdem dieses auf 1.8 wie gewünscht funktioniert, guckst du, ob bei 1.9 was dazu gekommen ist, was für dein Plugin relevant ist.

Diesen Zusatz (z.B. einen zusätzlichen EventListener, den es zu 1.8-Zeit noch nicht gab), sofern nötig, baust du in eine separate Klasse, die du nur dann instanzierst, wenn das Plugin auf mindestens 1.9 läuft.

Dann wiederholst du das ganze mit 1.10, 1.11 usw. bis du die höchste zu unterstützende Version erreicht hast.

Und wenn die Version außerhalb des unterstützten Bereiches liegt, schmeiß ne Exception mit einer entsprechenden Meldung im onEnable(), die das Initialisieren abbricht.

Falls du über Bukkit hinaus NMS oder CraftBukkit nutzt, wird es komplizierter, da der Ansatz hierfür nicht funktioniert. Da musst du dir dann selber eine kleine API basteln und einen entsprechende Wrapper für jede Version basteln und den jeweils richtigen instanzieren und in deinem Plugin verwenden. Besonders eklig hierbei: Zwischen 1.12 und 1.13 gab es eine weitgehende Umstrukturierung des Spiels, bei der sich viel verändert hat ("the flattening").

Woher ich das weiß:Berufserfahrung
Hirnduebeltv 
Fragesteller
 18.11.2022, 03:46

Sehr cool! Ich danke dir, dann weiß ich jetzt bescheid.
Ich schaue mir das ganze mal an. Einen angenehmen Tag noch :)

1

Du passt es halt für jede Version an schätz ich

Woher ich das weiß:Hobby
Hirnduebeltv 
Fragesteller
 18.11.2022, 03:45

Das ist mir bewusst aber mir war nicht klar wie genau ich das anpassen sollte

0