Okay.
Doch wieder eine Frage.
Diesmal bekomme ich einen Error, weiß aber nicht woran das liegt.
Es geht um folgenden Code:
@EventHandler
public void onDeath(PlayerDeathEvent e) {
Player p = e.getEntity();
Player k = e.getEntity().getKiller();
stats.setDeath(p);
scoreboard.setScoreboard(p);
p.sendMessage("§cDu wurdest von §e" + k.getDisplayName() + " §cgetötet.");
p.setLevel(0);
if(k != null) {
stats.setKill(k);
k.sendMessage("§aDu hast §e" + p.getDisplayName() + " §agetötet.");
scoreboard.setScoreboard(k);
k.setLevel(k.getLevel() +1 );
}
}
(Das ist der Code, was passiert, wenn jemand getötet wird)
public static void setKill(Player p) {
File file = new File("plugins//Surf//config.yml");
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
if(cfg.get(p.getUniqueId() + ".Kills") == null) {
cfg.set(p.getUniqueId() + ".Kills", 0);
try {
cfg.save(file);
} catch (IOException e) {}
int i = cfg.getInt(p.getUniqueId() + ".Kills");
int total = i + 1;
cfg.set(p.getUniqueId() + ".Kills", total);
try {
cfg.save(file);
} catch (IOException e) {}
}
}
public static void setDeath(Player p) {
File file = new File("plugins//Surf//config.yml");
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
if(cfg.get(p.getUniqueId() + ".Deaths") == null) {
cfg.set(p.getUniqueId() + ".Deaths", 0);
try {
cfg.save(file);
} catch (IOException e) {}
int i = cfg.getInt(p.getUniqueId() + ".Deaths");
int total = i + 1;
cfg.set(p.getUniqueId() + ".Deaths", total);
try {
cfg.save(file);
} catch (IOException e) {}
}
}
public static int getDeaths(Player p) {
File file = new File("plugins//Surf//config.yml");
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
int i = 0;
if(cfg.get(p.getUniqueId() + ".Deaths") == null) {
i = 0;
}else {
cfg.getInt(p.getUniqueId() + ".Deaths");
}
return i;
}
public static int getKills(Player p) {
File file = new File("plugins//Surf//config.yml");
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
int i = 0;
if(cfg.get(p.getUniqueId() + ".Kills") == null) {
i = 0;
}else {
cfg.getInt(p.getUniqueId() + ".Kills");
}
return i;
}
}
(Und das der Code, was die Kills im Scoreboard steuert)
Das hier ist der Error, den ich erhalte, mit dem ich aber nichts anfangen kann:
Could not pass event PlayerDeathEvent to mapchange v1.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:381) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.EntityPlayer.die(EntityPlayer.java:407) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.EntityLiving.damageEntity(EntityLiving.java:806) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.EntityHuman.damageEntity(EntityHuman.java:801) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.EntityPlayer.damageEntity(EntityPlayer.java:486) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.EntityLiving.e(EntityLiving.java:933) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.EntityHuman.e(EntityHuman.java:1441) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.Block.a(Block.java:595) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.Entity.a(Entity.java:810) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.EntityLiving.a(EntityLiving.java:158) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.EntityPlayer.a(EntityPlayer.java:612) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:444) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.PacketPlayInFlying.a(SourceFile:126) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.PacketPlayInPositionLook.a(SourceFile:18) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_25]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_25]
at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
Caused by: java.lang.NullPointerException
at at.proxxy.main.listener.onDeath(listener.java:29) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25]
at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
... 25 more
Wo ist der Fehler?
Wie kann ich das beheben?