Need some help

Discussion in 'Plugin Development' started by ChrystianSandu, Jul 13, 2014.

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

    ChrystianSandu

    Hi! I have some problems with my new plugin :)

    I have 23 errors, but I don`t know why.
    Code:java
    1. public class ListenetClass implements Listener{
    2. MainClass configGetter;
    3.  
    4. public ListenetClass(MainClass plugin)
    5. {
    6. plugin.getServer().getPluginManager().registerEvents(this, plugin);
    7. this.configGetter = plugin;
    8. }
    9.  
    10. @EventHandler
    11. public void killenderman(EntityDeathEvent e)
    12. {
    13. String logo = ChatColor.RED + "R" + ChatColor.DARK_GRAY + "ed" +ChatColor.GOLD + "M" + ChatColor.DARK_GRAY + "oon" + ChatColor.DARK_AQUA + "H" + ChatColor.DARK_GRAY + "unter";
    14. String prefix = ChatColor.DARK_GRAY + "[" + logo + ChatColor.DARK_GRAY +"]: ";
    15.  
    16. Player died = (Player) e.getEntity();
    17. Player killer = died.getKiller();
    18.  
    19.  
    20. if (((killer instanceof Player)) && ((died instanceof Player)))
    21. {
    22. if (killer.getName() == configGetter.getConfig().getString("PlayerH"))
    23. {
    24. Bukkit.broadcastMessage(ChatColor.BLUE + "You killed " + ChatColor.GOLD + " a player" + ChatColor.BLUE + "!");
    25. killer.getInventory().addItem(new ItemStack(Material.DIAMOND, 3));
    26. }
    27. if (died.getName() == configGetter.getConfig().getString("PlayerH"))
    28. {
    29. Bukkit.broadcastMessage(prefix + ChatColor.DARK_AQUA + "Hunter: " + ChatColor.GOLD + configGetter.getConfig().getString("PlayerH") + ChatColor.DARK_GRAY + "was killed by " + ChatColor.GOLD + killer.getName());
    30. killer.sendMessage(ChatColor.GREEN + "You receive " + ChatColor.BLUE + "100 diamond and heal!");
    31. killer.getInventory().addItem(new ItemStack(Material.DIAMOND, 100));
    32. killer.setHealth(20.0);
    33. killer.setFoodLevel(20);
    34. configGetter.getConfig().set("op", 0);
    35. configGetter.getConfig().set("Start", 0);
    36. configGetter.getConfig().set("x", 0);
    37. configGetter.getConfig().set("y", 0);
    38. configGetter.getConfig().set("modify", 0);
    39. configGetter.getConfig().set("z", 0);
    40. configGetter.getConfig().set("PlayerH", 0);
    41. configGetter.getConfig().set("Find", 0);
    42. configGetter.saveConfig();
    43. }
    44. }
    45. if ((died instanceof Player) && (died.getName() == configGetter.getConfig().getString("PlayerH")))
    46. {
    47. Bukkit.broadcastMessage(prefix +"Hunter: "+ChatColor.GOLD + died.getName() + ChatColor.BLUE+" was killed by"+ ChatColor.DARK_PURPLE +" NATURE");
    48. configGetter.getConfig().set("op", 0);
    49. configGetter.getConfig().set("Start", 0);
    50. configGetter.getConfig().set("x", 0);
    51. configGetter.getConfig().set("y", 0);
    52. configGetter.getConfig().set("modify", 0);
    53. configGetter.getConfig().set("z", 0);
    54. configGetter.getConfig().set("PlayerH", 0);
    55. configGetter.getConfig().set("Find", 0);
    56. configGetter.saveConfig();
    57. }
    58. }
    59.  
    60. }


    And this error log:
    Code:
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:353) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.EntityLiving.die(EntityLiving.java:799) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.EntityLiving.damageEntity(EntityLiving.java:734) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.EntityBat.damageEntity(SourceFile:199) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.Entity.B(Entity.java:322) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.EntityLiving.B(EntityLiving.java:154) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.EntityInsentient.B(EntityInsentient.java:111) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.Entity.h(Entity.java:242) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.EntityLiving.h(EntityLiving.java:1271) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.EntityInsentient.h(EntityInsentient.java:150) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.EntityBat.h(SourceFile:109) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.World.entityJoinedWorld(World.java:1421) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.World.playerJoinedWorld(World.java:1402) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.World.tickEntities(World.java:1290) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.WorldServer.tickEntities(WorldServer.java:481) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:649) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R3.entity.CraftBat cannot be cast to org.bukkit.entity.Player
        at me.bukkit.ChrystianSandu.ListenetClass.killenderman(ListenetClass.java:27) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        ... 23 more
    [00:19:39] [Server thread/ERROR]: Could not pass event EntityDeathEvent to MoonHunter v1.0
     
  2. Offline

    TheHandfish

    It looks like the problem is here:

    Player died = (Player) e.getEntity();

    You need to check if the dead person is a player before casting this.
     
  3. Offline

    ChrystianSandu

    TheHandfish
    Code:java
    1. If (e.getEntity() instaceof Player){
    2. Player died = (Player) e.getEntity();
    3. }

    Like this?
    I will test with this code today :)
     
  4. Offline

    TheHandfish

    Yes. Don't forget to check if "dead" is null before you reference it in your code though.
     
    ChrystianSandu likes this.
  5. Offline

    Necrodoom

    Looks like you want to use a playerdeathevent instead.
     
  6. Offline

    ChrystianSandu

    TheHandfish
    I try this:

    Code:java
    1. if (e.getEntity() != null){
    2. if (e.getEntity() instanceof Player){
    3. Player died = (Player) e.getEntity();
    4. }
    5. }

    And is work :)
     
Thread Status:
Not open for further replies.

Share This Page