• 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!

Weshalb NullPointerException?

combo

Miner
Registriert
16 Juli 2012
Beiträge
175
Diamanten
0
Minecraft
combo5
Hallo,
ich bin momentan daran ein Arena System zu schreiben!
Es klappt auch alles soweit jedoch kommt ein Fehler im RespawnEvent wenn ich eine Array List abfrage ob ein Spieler in dieser ist.
Ich hoffe ihr könnt mir Helfen den Fehler zu finden.
Code:
Code:
//Array's Blau und Rot sind Player Array's
    @EventHandler
    public void onRespawn(PlayerRespawnEvent e) {
    Player s = Bukkit.getPlayer(e.getPlayer().getUniqueId());
    Location l = null;
    if(DTMSystem.blau.contains(s)) { // Zeile 149 <Fehler
    double x = DTMSystem.config.getDouble(DTMSystem.currentarena + ".Blau" + ".X");
    double y = DTMSystem.config.getDouble(DTMSystem.currentarena + ".Blau" + ".Y");
    double z = DTMSystem.config.getDouble(DTMSystem.currentarena + ".Blau" + ".Z");
    float yaw = DTMSystem.config.getInt(DTMSystem.currentarena + ".Blau" + ".Yaw");
    l = new Location(s.getWorld(),x,y,z,yaw,0);
    } else if(DTMSystem.rot.contains(s)){
    double x = DTMSystem.config.getDouble(DTMSystem.currentarena + ".Rot" + ".X");
    double y = DTMSystem.config.getDouble(DTMSystem.currentarena + ".Rot" + ".Y");
    double z = DTMSystem.config.getDouble(DTMSystem.currentarena + ".Rot" + ".Z");
    float yaw = DTMSystem.config.getInt(DTMSystem.currentarena + ".Rot" + ".Yaw");
    l = new Location(s.getWorld(),x,y,z,yaw,0);
    } else {
    l = DTMSystem.spawnlocation(s);
    }
    e.setRespawnLocation(l);
    }


Der Fehler:

Code:
[19:20:09 ERROR]: Could not pass event PlayerRespawnEvent to DTMSystem v1.0
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
va:302) ~[spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
a:62) ~[spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
ava:509) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
ava:494) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.PlayerList.moveToWorld(PlayerList.java:5
08) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.PlayerList.moveToWorld(PlayerList.java:4
47) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java
:1239) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.PacketPlayInClientCommand.a(SourceFile:5
0) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.PacketPlayInClientCommand.handle(SourceF
ile:8) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186
) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java
:81) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:7
34) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:2
89) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:5
84) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java
:490) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6
28) [spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
Caused by: java.lang.NullPointerException
        at de.combo.DTMEvents.onRespawn(DTMEvents.java:149) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0
_13]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0
_13]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
.7.0_13]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_13]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
va:298) ~[spigot1652.jar:git-Spigot-1.7.9-R0.2-205-g2c31986]
        ... 15 more

Mfg combo
 

MrPyro13

Workaholic
Registriert
29 April 2013
Beiträge
826
Diamanten
300
Minecraft
MrPyro13
Hallo,
Mir fällt da nur eine Möglichkeit ein; und zwar sind die ArrayListen gleich null oder nicht definiert. Anders kann bei einer ArrayList keine NullPointerException durch die contains-Methode kommen (siehe Javadocs).
Lass dir doch einfach mal deine Arraylisten bzw. deren Länge ausgeben, dann weißt du, ob die ArrayListen null sind.
 

combo

Miner
Registriert
16 Juli 2012
Beiträge
175
Diamanten
0
Minecraft
combo5
Wenn ich jetzt im ReSpawn Event auslesen lasse ob die ArrayList 0 ist Schickt er mir genauso eine NPE jedoch kommt als Antwort das wenn ich z.b. Team Rot bin die länge der ArrayList-Rot auch 1 ist.
 

Bl4ckSkull666

Minecrafter
Registriert
11 September 2014
Beiträge
10
Diamanten
0
Minecraft
Bl4ckSkull666
Das hat damit nix zu tun; der Fehler liegt nur in der Methode onRespawn, und die wurde komplett angegeben.
Der fehler liegt in ZEILE 149
Code:
Caused by: java.lang.NullPointerException
        at de.combo.DTMEvents.onRespawn(DTMEvents.java:149) ~[?:?]

Also Poste bitte die bereits erwähnten Zeilen oder verzichte auf die Hilfe. *grml*
 

Bl4ckSkull666

Minecrafter
Registriert
11 September 2014
Beiträge
10
Diamanten
0
Minecraft
Bl4ckSkull666
Dann überarbeite dein
DTMSystem Class. und greif nicht von extern in die list ein.Sprich ändere es um in
Code:
DTMSystem.getBlueTeam().isInTeam(s)

Und vorallem leg die List direkt fest und mach diese zu Final in der DTMSystem
 
Oben