Solved null exception

Discussion in 'Plugin Development' started by vtg_the_kid, Dec 16, 2013.

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

    vtg_the_kid

    i got a console error when something exploded at line 344
    here's the code at line 344
    Code:java
    1. @EventHandler
    2. public void noExplode(EntityExplodeEvent event){
    3. if (Math.abs(event.getEntity().getLocation().getBlockX()) <= 150
    4. && Math.abs(event.getEntity().getLocation().getBlockZ()) <= 150){
    5. event.setCancelled(true);
    6. }
    7. }
     
  2. Offline

    NinjaWAffles

    Can you please provide a stacktrace?
     
  3. Offline

    vtg_the_kid

    NinjaWAffles
    Code:
    [21:59:31] [Server thread/ERROR]: Could not pass event EntityExplodeEvent to jim v69
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:481) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:466) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.Explosion.a(Explosion.java:219) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.World.createExplosion(World.java:1613) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.WorldServer.createExplosion(WorldServer.java:839) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftWorld.createExplosion(CraftWorld.java:464) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftWorld.createExplosion(CraftWorld.java:460) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftWorld.createExplosion(CraftWorld.java:472) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftWorld.createExplosion(CraftWorld.java:468) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at jim.main.jimMain$7.run(jimMain.java:1274) [jim.jar:?]
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:53) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:587) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
    Caused by: java.lang.NullPointerException
        at jim.main.jimMain.noExplode(jimMain.java:344) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_45]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        ... 18 more
    [21:59:31] [Server thread/WARN]: [jim] Task #204 for jim v69 generated an exception
    java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R1.entity.CraftZombie cannot be cast to org.bukkit.entity.Player
        at jim.main.jimMain$7.run(jimMain.java:1276) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:53) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:587) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g402ee87-b2959jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-50-g4
     
  4. Offline

    1Rogue

    Strange. Add debug code and see what part of the methods are returning null (publicly null check each chain of the method "event.getEntity().getLocation().getBlockX()")
     
    vtg_the_kid likes this.
  5. Offline

    NinjaWAffles

    Do as 1Rogue suggested to determine what could be null, but if you haven't noticed, there is also another error. In one of the lines of code (you didn't paste it in your original message), you're trying to cast a Zombie to a Player. You can't do this. :p You'll want to check if the entity is instance of player before casting.

    Code:Java
    1.  
    2. if([entity] instanceof Player)
    3. {
    4. //Entity is a player...
    5. Player player = (Player) [entity];
    6. }
    7.  
     
    vtg_the_kid likes this.
  6. Offline

    vtg_the_kid

Thread Status:
Not open for further replies.

Share This Page