• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

PlugIn PLugin funktioniert nicht

Patrick03

Redstoneengineer
Registriert
13 Mai 2020
Beiträge
38
Diamanten
307
Hey,

Ich habe in Google 1 Stunde lang nach dem Fehler gesucht hab nichts gefunden.
Wenn ich den Command ausführe kommt der Fehler(siehe bilder).
Ich habe (denke ich) alles richtig programmiert. Was mein Ziel ist ich will mit /setjoin einen Spawn setzen auf dem dann alle Spieler spawnen wenn sie auf den Server kommen.

Und beim Event kommt folgender Fehler: Could not pass event PlayerJoinEvent to LobbyManager v1.0

LG
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    20,4 KB · Aufrufe: 230
  • Unbenannt1.PNG
    Unbenannt1.PNG
    55,2 KB · Aufrufe: 241
  • 3.PNG
    3.PNG
    41,5 KB · Aufrufe: 221
  • 4.PNG
    4.PNG
    60,9 KB · Aufrufe: 244
Zuletzt bearbeitet:

Phoenix616

Kuhfänger
Registriert
11 Mai 2019
Beiträge
69
Diamanten
396
Minecraft
Phoenix616
Laut dem Fehler ist etwas auf Zeile 50 in deiner JoinCommand Klasse Null. Leider hast du die Zeilen in deinem Screenshot abgeschnitten (und verwendest auch nicht Java 14 mit den besseren NullPointerExceptions) daher kann man schwer sagen was genau der Fehler ist.

Generell aber ein paar Tipps:
  • Wenn du deinen Testserver über einen Debugger direkt in deiner IDE laufen lässt dann kannst du bei Fehlern direkt an die Stelle des Codes springen welche ihn hervorgerufen hat. (Das geht zB. mit IntelliJ so: https://www.spigotmc.org/wiki/intellij-debug-your-plugin/)
  • Die Hauptklasse eines Plugins sollte zur besseren Unterscheidung von anderen Plugins den Namen deines Plugins tragen (in diesem Fall wahrscheinlich "LobbyManager"). Die Main Klasse ist die Hauptklasse des gesamten Programmes, also des Servers.
  • Du brauchst im onEnable und onDisable keine Meldungen Ausgeben dass dein Plugin aktiviert bzw. deaktiviert wurde, das macht der Server selber schon, du würdest also so doppelte Nachrichten bekommen. (Mal abzusehen davon dass du nicht System.out.print sondern den Logger deines Plugins nutzen solltest, Sytem.out.print wird immer als Fehlermeldung vom Logger des Servers angesehen)
  • Dass du noch 1.14 einsetzt ist außerdem auch etwas fraglich, 1.14 war eine extrem kaputte Version des Servers die sehr schnell mit 1.15 ersetzt wurde. Das 1.15 Update (vor allem von Paper) hat den Server um einiges performanter gemacht und viele Bugs der 1.14 gefixt. Ich hoffe also dass dies nur ein Testserver ist und das nicht ernsthaft noch irgendwo 1.14 eingesetzt wird. Kompatibel sind ja eigentlich alle Plugins der 1.14 mit der 1.15, da gab es so gut wie keine Änderungen was die API angeht ;)
 

Patrick03

Redstoneengineer
Registriert
13 Mai 2020
Beiträge
38
Diamanten
307
Laut dem Fehler ist etwas auf Zeile 50 in deiner JoinCommand Klasse Null. Leider hast du die Zeilen in deinem Screenshot abgeschnitten (und verwendest auch nicht Java 14 mit den besseren NullPointerExceptions) daher kann man schwer sagen was genau der Fehler ist.

Generell aber ein paar Tipps:
  • Wenn du deinen Testserver über einen Debugger direkt in deiner IDE laufen lässt dann kannst du bei Fehlern direkt an die Stelle des Codes springen welche ihn hervorgerufen hat. (Das geht zB. mit IntelliJ so: https://www.spigotmc.org/wiki/intellij-debug-your-plugin/)
  • Die Hauptklasse eines Plugins sollte zur besseren Unterscheidung von anderen Plugins den Namen deines Plugins tragen (in diesem Fall wahrscheinlich "LobbyManager"). Die Main Klasse ist die Hauptklasse des gesamten Programmes, also des Servers.
  • Du brauchst im onEnable und onDisable keine Meldungen Ausgeben dass dein Plugin aktiviert bzw. deaktiviert wurde, das macht der Server selber schon, du würdest also so doppelte Nachrichten bekommen. (Mal abzusehen davon dass du nicht System.out.print sondern den Logger deines Plugins nutzen solltest, Sytem.out.print wird immer als Fehlermeldung vom Logger des Servers angesehen)
  • Dass du noch 1.14 einsetzt ist außerdem auch etwas fraglich, 1.14 war eine extrem kaputte Version des Servers die sehr schnell mit 1.15 ersetzt wurde. Das 1.15 Update (vor allem von Paper) hat den Server um einiges performanter gemacht und viele Bugs der 1.14 gefixt. Ich hoffe also dass dies nur ein Testserver ist und das nicht ernsthaft noch irgendwo 1.14 eingesetzt wird. Kompatibel sind ja eigentlich alle Plugins der 1.14 mit der 1.15, da gab es so gut wie keine Änderungen was die API angeht ;)
Danke für deine Antwort. Der Server ist ein Root Server ich bin aktuell am Lobby programmieren. Kann ich einfach vom Lobby server die Spigot datei löschen und die 1.15 reingeben? Kommen da keine fehler? Und bei den Plugins muss ich ja auch dann alle auf 1.15 ändern oder? Danke für deine Tipps
 

Patrick03

Redstoneengineer
Registriert
13 Mai 2020
Beiträge
38
Diamanten
307
Danke für deine Antwort. Der Server ist ein Root Server ich bin aktuell am Lobby programmieren. Kann ich einfach vom Lobby server die Spigot datei löschen und die 1.15 reingeben? Kommen da keine fehler? Und bei den Plugins muss ich ja auch dann alle auf 1.15 ändern oder? Danke für deine Tipps
Zeile 50: p.sendMessage(plugin.prefix + " Der Spawn wurde gesetzt!");
 

Luki_xx

Schafhirte
Registriert
12 Juni 2019
Beiträge
107
Diamanten
378
Minecraft
Luki_xx
Dann musst du die Instanz der Main Klasse aber auch an diese Variable übergeben. Du kannst etwa in der OnEnable Methode das machen:
Java:
JoinCommand.plugin=this
Dafür müsstest du diese Variable allerdings öffentlich machen.

Verwende bitte das nächste mal bitte die Code Funktion, den die Bilder sind nicht optimal.
 

Patrick03

Redstoneengineer
Registriert
13 Mai 2020
Beiträge
38
Diamanten
307
Dann musst du die Instanz der Main Klasse aber auch an diese Variable übergeben. Du kannst etwa in der OnEnable Methode das machen:
Java:
JoinCommand.plugin=this
Dafür müsstest du diese Variable allerdings öffentlich machen.

Verwende bitte das nächste mal bitte die Code Funktion, den die Bilder sind nicht optimal.
Ok danke
 
Oben