Player killed by entity

Discussion in 'Plugin Development' started by HelloThereItsMe, Nov 29, 2015.

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

    HelloThereItsMe

    When a zombie kills me it doesn't broadcast the message and there aren't any errors in console. I don't see what I did wrong. Thanks :D!

    Code:
           
        @EventHandler
        public void onEntityDeath(EntityDeathEvent e){
    
          LivingEntity entity = e.getEntity();
           
            if(!(entity instanceof Player)) return;
               
            EntityDamageEvent lastdamage = entity.getLastDamageCause();
            DamageCause death_reason = lastdamage.getCause();
    
            if(lastdamage instanceof Monster){
                   LivingEntity killer = (LivingEntity) entity.getLastDamageCause();
                   EntityEquipment ee = ((LivingEntity) killer).getEquipment();
                   String killmessage =  main.getConfig().getString("entitykillmessage")
                           .replaceAll("(&([a-f0-9]))", "\u00A7$2")
                           .replaceAll("%ENTITY%", entity.getName())
                           .replaceAll("%KILLER", killer.getCustomName())
                           .replaceAll("%ITEM%", ee.getItemInHand().getItemMeta().getDisplayName());
                   entity.getServer().broadcastMessage(killmessage);
                }
     } 
     
  2. Offline

    Scimiguy

    Uh.. you want PlayerDeathEvent.

    And then you want to use this:
    if (event.getEntity().getLastDamageCause() instanceof EntityDamageByEntityEvent)
     
  3. Offline

    HelloThereItsMe

    @Scimiguy
    Now it's giving me this console error

    Code:
    [22:38:26 ERROR]: Could not pass event PlayerDeathEvent to EndestriaDeathMessages v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit_server.jar:git-Bukkit-53fac9f]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit_server.jar:git-Bukkit-53fac9f]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:378) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityPlayer.die(EntityPlayer.java:402) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityLiving.damageEntity(EntityLiving.java:801) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityHuman.damageEntity(EntityHuman.java:794) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityPlayer.damageEntity(EntityPlayer.java:481) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityMonster.r(EntityMonster.java:72) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityZombie.r(EntityZombie.java:225) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.PathfinderGoalMeleeAttack.e(SourceFile:122) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.PathfinderGoalSelector.a(PathfinderGoalSelector.java:91) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityInsentient.doTick(EntityInsentient.java:467) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityLiving.m(EntityLiving.java:1610) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityInsentient.m(EntityInsentient.java:338) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityMonster.m(EntityMonster.java:20) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityZombie.m(EntityZombie.java:163) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityLiving.t_(EntityLiving.java:1474) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityInsentient.t_(EntityInsentient.java:193) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityMonster.t_(EntityMonster.java:24) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.EntityZombie.t_(EntityZombie.java:221) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.World.entityJoinedWorld(World.java:1420) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.World.g(World.java:1398) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.World.tickEntities(World.java:1269) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.WorldServer.tickEntities(WorldServer.java:560) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:726) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:628) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:536) [craftbukkit_server.jar:git-Bukkit-53fac9f]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_65]
    Caused by: java.lang.NullPointerException
            at com.matt.listeners.PlayerListener.onPlayerDeath(PlayerListener.java:48) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_65]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_65]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_65]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_65]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[craftbukkit_server.jar:git-Bukkit-53fac9f]
    Line 48: EntityEquipment ee = killer.getEquipment();
     
  4. Offline

    Scimiguy

    killer is null

    Show code
     
  5. Offline

    Xerox262

    Killer only returns a player, if the player was not killed by another killer then it will be null.
     
  6. Offline

    LemonCoder

    @EventHandler
    public void on(PlayerDeathEvent e) {
    if (e.getEntity().getLastDamageCause() instanceof EntityDamageByEntityEvent) {
    }
    }
    }

    Then you can do the rest.
     
    DoggyCodeâ„¢ likes this.
  7. Offline

    Scimiguy

    @LemonCoder
    Did you just copy my response and claim it as your own?
     
  8. Offline

    LemonCoder

    No, Sorry was writing the same code just writing it for him
     
Thread Status:
Not open for further replies.

Share This Page