Solved Right click error

Discussion in 'Plugin Development' started by loller, Oct 20, 2013.

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

    loller

    I made a insta soup plugin and when i right click a block with just my fist (doesn't happen when i click air or click with a block) i get this error:
    2013-10-20 15:14:00 [SEVERE] Could not pass event PlayerInteractEvent to soup v1
    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_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190)
    at net.minecraft.server.v1_6_R3.PlayerInteractManager.interact(PlayerInteractManager.java:373)
    at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:630)
    at net.minecraft.server.v1_6_R3.Packet15Place.handle(SourceFile:58)
    at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296)
    at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116)
    at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37)
    at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30)
    at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592)
    at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227)
    at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488)
    at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421)
    at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
    Caused by: java.lang.NullPointerException
    at me.exterm1nat0r.Gladiator.RightClickListener.onRightClickEvent(RightClickListener.java:21)
    at sun.reflect.GeneratedMethodAccessor1.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)
    ... 16 more

    This is the code of my plugin:
    @EventHandler
    void onRightClickEvent (PlayerInteractEvent Event)
    {
    if ((Event.getAction() == Action.RIGHT_CLICK_AIR) || (Event.getAction() == Action.RIGHT_CLICK_BLOCK)) {

    Player player = Event.getPlayer();
    double health = player.getHealth();

    if (Event.getItem().getType() == Material.MUSHROOM_SOUP) {


    if ((health+6 > 20) && (health < 20)){
    player.sendMessage (ChatColor.DARK_PURPLE + "Yammie yammie yammie" + ChatColor.BOLD + ChatColor.DARK_RED + " DELICIOUS!");
    player.setHealth(20);
    Event.getPlayer().getItemInHand().setType(Material.BOWL); }

    else if ((health+6 < 20) || (health+6 == 20)){
    player.setHealth(health+6);
    player.sendMessage (ChatColor.DARK_PURPLE + "Yammie yammie yammie" + ChatColor.BOLD + ChatColor.DARK_RED + " DELICIOUS!");
    Event.getPlayer().getItemInHand().setType(Material.BOWL);}

    }
    }
    }
    }
     
  2. Offline

    user_90854156

    Code:java
    1. if (Event.getAction() == Action.RIGHT_CLICK_AIR || Event.getAction() == Action.RIGHT_CLICK_BLOCK)



    Try change that, why do you have double parantheses in all your if statements? :confused:
    Does your code show any syntax errors?
     
  3. Offline

    loller

    Changed it , still doesn't work.
     
  4. Offline

    NoChanceSD

    loller Which one is line 21 and can you post the code formatted?
     
  5. Offline

    Shzylo

    Make a check to make sure the item isn't null.
     
  6. Offline

    loller

    if (Event.getItem().getType() == Material.MUSHROOM_SOUP) this is line 21 and what do you meant with can you post the code formatted , this is my first plugin and the first time i programmed anything.

    What do you mean by make a check?

    Fixed it:
    i changed if (Event.getItem().getType() == Material.MUSHROOM_SOUP) to if (Event.getMaterial() == Material.MUSHROOM_SOUP) and now it works

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 4, 2016
Thread Status:
Not open for further replies.

Share This Page