Solved Unknown Event Errors

Discussion in 'Plugin Development' started by SourceForums, Oct 19, 2013.

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

    SourceForums

    Hey there, this is Eric Moon from the SourceForums team. After coding a whole bunch and updating my server plugin. There's this error that I've never gotten before. Here's the error log:
    Code:
    2013-10-20 17:39:08 [SEVERE] Could not pass event EntityDamageEvent to SourceCraft v1.0.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callEvent(CraftEventFactory.java:93)
        at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:381)
        at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:437)
        at net.minecraft.server.v1_6_R2.EntityLiving.damageEntity(EntityLiving.java:636)
        at net.minecraft.server.v1_6_R2.EntityAnimal.damageEntity(SourceFile:128)
        at net.minecraft.server.v1_6_R2.EntityLiving.x(EntityLiving.java:148)
        at net.minecraft.server.v1_6_R2.EntityInsentient.x(EntityInsentient.java:111)
        at net.minecraft.server.v1_6_R2.Entity.l_(Entity.java:230)
        at net.minecraft.server.v1_6_R2.EntityLiving.l_(EntityLiving.java:1242)
        at net.minecraft.server.v1_6_R2.EntityInsentient.l_(EntityInsentient.java:150)
        at net.minecraft.server.v1_6_R2.World.entityJoinedWorld(World.java:1354)
        at net.minecraft.server.v1_6_R2.World.playerJoinedWorld(World.java:1335)
        at net.minecraft.server.v1_6_R2.World.tickEntities(World.java:1223)
        at net.minecraft.server.v1_6_R2.WorldServer.tickEntities(WorldServer.java:480)
        at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:572)
        at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226)
        at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486)
        at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419)
        at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_6_R2.entity.CraftPig cannot be cast to org.bukkit.entity.Player
        at net.sourceforums.sourcecraft.Listeners.SuperCraftBrosBrawlPlayerListener.onPlayerDamageByFallEvent(SuperCraftBrosBrawlPlayerListener.java:747)
        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.java:425)
        ... 22 more
    2013-10-20 17:39:08 [SEVERE] Could not pass event EntityDamageEvent to SourceCraft v1.0.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callEvent(CraftEventFactory.java:93)
        at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:381)
        at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:437)
        at net.minecraft.server.v1_6_R2.EntityLiving.damageEntity(EntityLiving.java:636)
        at net.minecraft.server.v1_6_R2.EntityAnimal.damageEntity(SourceFile:128)
        at net.minecraft.server.v1_6_R2.EntityLiving.x(EntityLiving.java:148)
        at net.minecraft.server.v1_6_R2.EntityInsentient.x(EntityInsentient.java:111)
        at net.minecraft.server.v1_6_R2.Entity.l_(Entity.java:230)
        at net.minecraft.server.v1_6_R2.EntityLiving.l_(EntityLiving.java:1242)
        at net.minecraft.server.v1_6_R2.EntityInsentient.l_(EntityInsentient.java:150)
        at net.minecraft.server.v1_6_R2.World.entityJoinedWorld(World.java:1354)
        at net.minecraft.server.v1_6_R2.World.playerJoinedWorld(World.java:1335)
        at net.minecraft.server.v1_6_R2.World.tickEntities(World.java:1223)
        at net.minecraft.server.v1_6_R2.WorldServer.tickEntities(WorldServer.java:480)
        at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:572)
        at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226)
        at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486)
        at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419)
        at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_6_R2.entity.CraftPig cannot be cast to org.bukkit.entity.Player
        at net.sourceforums.sourcecraft.Listeners.SuperCraftBrosBrawlPlayerListener.onSpectatorDamageEvent(SuperCraftBrosBrawlPlayerListener.java:762)
        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.java:425)
        ... 22 more
    Also, here's the line of code that's causing the problems (The following is both line 747 & 762):
    Code:java
    1. Player player = (Player) event.getEntity();

    Please reply ASAP.
     
  2. Offline

    Zarkopafilis

    Check is the entity is instance of a Player object?
     
  3. Offline

    Shzylo

    You cannot cast it as a player, it has to be an entity, then you can check if it is a player like so:

    Code:
    Entity ent = event.getEntity();
     
    if (ent instanceof Player) {
        Player player = (Player) ent;
    }
     
    1Rogue and Zarkopafilis like this.
  4. Offline

    Zarkopafilis

    Also : Have you got a @EventHandler on top/have you registered the event? and does
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_6_R2.entity.CraftPig Ring a bell?
     
  5. Offline

    SourceForums

    Zarkopafilis
    Yes, my event has the EventHandler and I have registered my event.
    Shzylo
    My code includes a 'player.getLevel()'. How will I be using this if I use Entity instead of Player?
     
  6. Offline

    Seadragon91

    Code:
    if (event.getEntity().getType() == EntityType.PLAYER) {
      Player player = (Player) event.getEntity();
      // next code
    }
     
  7. Offline

    SourceForums

    Seadragon91
    Thanks! I changed your code a little bit and it works perfectly!
     
  8. Offline

    Zarkopafilis

    Better check :
    Code:java
    1. if(e.getEntity() instanceof Player)

    Just saying
     
    Shzylo likes this.
Thread Status:
Not open for further replies.

Share This Page