PlayerDeathEvent getKiller not working

Discussion in 'Plugin Development' started by Mrwinkles, May 19, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    Mrwinkles

    When i try to get who killed the person i get the following error on the server:


    13:29:36 [SEVERE] Could not pass event PlayerDeathEvent to Basic
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:303)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:459)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerDeathEvent(C
    raftEventFactory.java:322)
    at net.minecraft.server.EntityPlayer.die(EntityPlayer.java:173)
    at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:677)

    at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595)
    at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:215)

    at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEnt
    ity.java:149)
    at org.bukkit.command.defaults.KillCommand.execute(KillCommand.java:27)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:16
    6)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:4
    79)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.
    java:821)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781)

    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764)
    at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:7
    8)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.NullPointerException
    at com.nentra.basic.basicListener.playerDeath(basicListener.java:30)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:301)
    ... 21 more




    code:
    Code:
        @EventHandler
        public void playerDeath(EntityDeathEvent event) {
            if ((event instanceof PlayerDeathEvent)) {
                Player player = (Player) event.getEntity();
                System.out.print("KILLED:" + player.getKiller().getDisplayName());
            }
        }
     
  2. Offline

    Darq

    That would happen if the player fell, or was killed by any other means that was not another player.

    I've also never used getKiller(), so I don't know its behaviour.
     
  3. Offline

    ChrizC

    Code:
    if (player.getKiller() instanceof Player) { }
    
     
  4. Offline

    Mrwinkles

    Thank you! This resolved my issues.
     
Thread Status:
Not open for further replies.

Share This Page