Interact Error

Discussion in 'Plugin Development' started by chris213, Jun 27, 2011.

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

    chris213

    Hi,
    What means this interact error?
    Code:
    17:02:31 [SEVERE] Could not pass event PLAYER_INTERACT to CCraft
    java.lang.NullPointerException
            at me.chris.ccraft.CCraftPlayerListener.onPlayerInteract(CCraftPlayerListener.java:36)
            at org.bukkit.plugin.java.JavaPluginLoader$10.execute(JavaPluginLoader.java:307)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:321)
            at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:168)
            at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:139)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:531)
            at net.minecraft.server.Packet15Place.a(SourceFile:57)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:223)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    >>
    And how can a repair this?
     
  2. Offline

    Shamebot

    It means there is an error in your code we can only guess about without it, some variable is uninitialized.
     
  3. Offline

    chris213

    The Code:
    Code:
    public void onPlayerInteract(PlayerInteractEvent event)
        {
            Player player = event.getPlayer();
            Block block = event.getClickedBlock();
            Action action = event.getAction();
      
            if(action == Action.RIGHT_CLICK_AIR || action == Action.RIGHT_CLICK_BLOCK)
            {
                if(block.getType() == Material.SIGN_POST)
                {
                    BlockState state = block.getState();
    
                    if (state instanceof Sign)
                    {
                        signpress((Sign) state, player);
                    }
                }
            }
        }
     
  4. Offline

    Weltall 7

    block is null if action is Action.RIGHT_CLICK_AIR. So remove 'action == Action.RIGHT_CLICK_AIR' from the if or check whether block is null.
     
    chris213 likes this.
  5. Offline

    chris213

    ok thx for your help
     
Thread Status:
Not open for further replies.

Share This Page