NullPointerExeption Bukkit?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Eine NullPointerException bedeutet, dass du mit einer Variable arbeitest, welcher keinen Wert zugewiesen wurde.

Ich habe mit deinen Code nicht angeschaut, allerdings könnte ich mir vorstellen, dass du dich bei der Config vertan hast und einen ungültigen Wert erhälst.

Seliba

Ich habe den Source jetzt mal überflogen... Der Variable "plugin" in der Main-Klasse wird kein Wert zugewiesen, was aber essentiell ist. Dies machst du ganz einfach mit "plugin = this;" am Anfang der onEnable() :)

2

Der Fehler ist recht simpel.

In Main erstellst du eine Referenzvariable "plugin", auf die du in JoinQuit zugreifst, um deine FileConfiguration zu bekommen. Und da liegt der Fehler (siehst du übrigens auch im Stack Trace).

Du hast plugin keinen Wert zugewiesen. Was du machen wolltest, war wahrscheinlich, plugin das aktuelle Objekt von Main zuzuweisen. Soll heißen:

public static Main plugin = this;

Unter Umständen musst du das im Konstruktor machen, bin mir nicht sicher.

Ansonsten würde ich immer empfehlen auf public Attribute zu verzichten. Auf diese Weise darauf zuzugreifen ist schlechter Stil und sollte weitesgehend vermieden werden, da es leicht zu Komplikationen kommen kann.

Stattdessen machst du

private static Main plugin = this;

public static Main getPlugin() {
return plugin;
}

Hoffe, ich konnte helfen.

Hast du JoinQuit von listener abgeleitet?

So ein Quatsch Derya001, wo hast du das denn her?

0
@user373h383

Das ist Quatsch, weil server kein boolscher Ausdruck ist. Da wird es beim Kompilieren schon einen Fehler geben. Und selbst wenn du

if (server != null) {}

machen würdest, würde das keinen Sinn ergeben. Der Server ist zu keinem Zeitpunkt null, lediglich eine Variable in der Main-Klasse. Ich kann mir zwar denken, was deine Intention ist, aber das braucht man nun wirklich nicht. Die Zeile, in der der Fehler auftaucht, ist gegeben. Und nur dort kann eine Instanz null sein.

0
@JohnnyJayJay02

Mit dem boolschen Ausdruck hast du in Java natürlich recht, ich bin hauptsächlich in C-Sprachen unterwegs wo die Gültigkeit des Pointers auch direkt in if-Abfragen überprüft werden kann. Das ändert aber nichts daran dass auch die gekapselte Server-Variable von "JavaPlugin" ein Objekt ist, welches durchaus nicht initialisiert sein kann. Das gilt für alle nicht-primitiven Datentypen, wie man ja schön an der Lösung des oben beschriebenen Problems sehen kann.

0
@user373h383

Das ist aber vollkommen unnötig zu überprüfen. Ein Blick in den Stack Trace genügt, um zu erkennen, dass der Fehler bei Zeile 14 in JoinQuit liegt. Das einzige, was dort null sein kann, ist plugin. Und da kann man einfach kurz mal schauen, ob diese Variable initialisiert wurde. Ich wüsste nicht, weshalb server null sein sollte. Ist mir noch nie passiert. Theoretisch zwar möglich, aber man fängt lieber bei den einfachen Dingen an.

0

Error bei PexTablistPlus?

Wenn Ich auf meinen Server joine kommt immer dieser Error, kann mir da jemand helfen?

[12:36:11 INFO]: [+] Milchmann_YT

[12:36:14 ERROR]: Could not pass event PlayerChatEvent to PexTabListPlus v1.0

org.bukkit.event.EventException

    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot.jar:git-Spigot-db6de12-18fbb24]

    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-db6de12-18fbb24]

    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-db6de12-18fbb24]

    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-db6de12-18fbb24]

    at net.minecraft.server.v1_8_R3.PlayerConnection$7.evaluate(PlayerConnection.java:1093) [spigot.jar:git-Spigot-db6de12-18fbb24]

    at org.bukkit.craftbukkit.v1_8_R3.util.Waitable.run(Waitable.java:24) [spigot.jar:git-Spigot-db6de12-18fbb24]

    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:729) [spigot.jar:git-Spigot-db6de12-18fbb24]

    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-db6de12-18fbb24]

    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-18fbb24]

    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-18fbb24]

    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]

Caused by: java.lang.NullPointerException

    at net.md_5.bungee.api.ChatColor.translateAlternateColorCodes(ChatColor.java:169) ~[spigot.jar:git-Spigot-db6de12-18fbb24]

    at me.tylerog.main.JoinEvent.setTabList(JoinEvent.java:55) ~[?:?]

    at me.tylerog.main.JoinEvent.onChat(JoinEvent.java:63) ~[?:?]

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_171]

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_171]

    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_171]

    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-db6de12-18fbb24]

    ... 10 more

...zur Frage

Bukkit/Spigot Ich krieg einen Fehler aber es steht nicht woran es liegt?

[17:49:27] [Server thread/WARN]: Unexpected exception while parsing console command "ban Banaenschen e" org.bukkit.command.CommandException: Unhandled exception executing command 'ban' in plugin ProPvP v1.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[craftbukkit.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[craftbukkit.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:627) [craftbukkit.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:412) [craftbukkit.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:375) [craftbukkit.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [craftbukkit.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [craftbukkit.jar:git-Spigot-db6de12-18fbb24] at java.lang.Thread.run(Unknown Source) [?:1.8.0_66] Caused by: java.lang.NullPointerException

Woran liegts?

...zur Frage

Was möchtest Du wissen?