Development Assistance Attempted to register an invalid EventHandler method signature

Discussion in 'Plugin Help/Development/Requests' started by PumpMelon, Aug 17, 2016.

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

    PumpMelon

    Hey,
    I'm trying to make a plugin that when they click on a dispenser the inventory pulls a bunch of food. When I try running it, it gives me this.

    Code:
    [17:48:40 INFO]: [MineZoneTable] Disabling MineZoneTable v1.0 [17:48:40 INFO]: [MineZoneTable] Loading MineZoneTable v1.0 [17:48:40 INFO]: [MineZoneTable] Enabling MineZoneTable v1.0 [17:48:40 INFO]: MineZoneTable has been enabled! [17:48:40 ERROR]: [MineZoneTable] MineZoneTable v1.0 attempted to register an invalid EventHandler method signature "public static void com.PumpMelon.table.Events.DispenserInventory.onInventoryClick(org.bukkit.event.inventory.InventoryClickEvent,org.bukkit.entity.Player)" in class com.PumpMelon.table.Events.DispenserInventory [17:48:40 INFO]: Server permissions file permissions.yml is empty, ignoring it
    The code for it is

    Code:
    package com.PumpMelon.table.Events;
    
    
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    
    public class DispenserInventory implements Listener{
    
    public static Inventory myInventory = Bukkit.createInventory(null, 9, "Table of Food");
     
        static {
            myInventory.setItem(0, new ItemStack(Material.COOKED_BEEF, 0));
            myInventory.setItem(8, new ItemStack(Material.COOKED_FISH, 1));
            myInventory.setItem(0, new ItemStack(Material.COOKED_MUTTON, 2));
            myInventory.setItem(8, new ItemStack(Material.GRILLED_PORK, 3));
            myInventory.setItem(0, new ItemStack(Material.APPLE, 4));
            myInventory.setItem(8, new ItemStack(Material.CAKE, 5));
            myInventory.setItem(0, new ItemStack(Material.BAKED_POTATO, 6));
            myInventory.setItem(8, new ItemStack(Material.GOLDEN_CARROT, 7));
            myInventory.setItem(8, new ItemStack(Material.COOKED_CHICKEN, 8));
        }
    
     
     
        @EventHandler
        public void onInventoryClick(InventoryClickEvent event) {
        Player player1 = (Player) event.getWhoClicked();
        ItemStack clicked = event.getCurrentItem();
        Inventory inventory = event.getInventory();
        if (inventory.getName().equals(myInventory.getName())) {
         
        if (clicked.getType() == Material.COOKED_BEEF){
        event.setCancelled(true);
        player1.closeInventory();
        player1.getInventory().addItem(new ItemStack(Material.COOKED_BEEF, 1));
        }
     
     
        if (clicked.getType() == Material.COOKED_FISH){
        event.setCancelled(true);
        player1.closeInventory();
        player1.getInventory().addItem(new ItemStack(Material.COOKED_FISH,  1));
        }
     
     
        if (clicked.getType() == Material.COOKED_MUTTON){
        event.setCancelled(true);
        player1.closeInventory();
        player1.getInventory().addItem(new ItemStack(Material.COOKED_MUTTON, 1));
        }
     
        if (clicked.getType() == Material.GRILLED_PORK){
        event.setCancelled(true);
        player1.closeInventory();
        player1.getInventory().addItem(new ItemStack(Material.GRILLED_PORK, 1));
     
        }
     
        if (clicked.getType() == Material.APPLE){
            event.setCancelled(true);
            player1.closeInventory();
            player1.getInventory().addItem(new ItemStack(Material.APPLE, 1));
         
            }
     
        if (clicked.getType() == Material.CAKE){
            event.setCancelled(true);
            player1.closeInventory();
            player1.getInventory().addItem(new ItemStack(Material.CAKE, 1));
         
            }
     
        if (clicked.getType() == Material.BAKED_POTATO){
            event.setCancelled(true);
            player1.closeInventory();
            player1.getInventory().addItem(new ItemStack(Material.BAKED_POTATO, 1));
         
            }
        if (clicked.getType() == Material.COOKED_BEEF){
            event.setCancelled(true);
            player1.closeInventory();
            player1.getInventory().addItem(new ItemStack(Material.COOKED_BEEF, 1));
         
            }
     
        if (clicked.getType() == Material.GOLDEN_CARROT){
            event.setCancelled(true);
            player1.closeInventory();
            player1.getInventory().addItem(new ItemStack(Material.GOLDEN_CARROT, 1));
         
            }
     
        if (clicked.getType() == Material.COOKED_CHICKEN){
            event.setCancelled(true);
            player1.closeInventory();
            player1.getInventory().addItem(new ItemStack(Material.COOKED_CHICKEN, 1));
         
            }
         
        }
             
             
            }
     
     
     
    }
    My other class gets if they are right clicking a dispenser and then opens the inventory.

    Thanks ! o/
     
    Last edited by a moderator: Aug 17, 2016
  2. Offline

    Sarcry

    Not sure why but worked for me when added:
    Code:
    public class DispenserInventory extends JavaPlugin implements Listener{
        @Override
        public void onEnable() {
            getServer().getPluginManager().registerEvents( this, this);
    
    Here's the complete version:
    http://pastebin.com/V69pq3hF
    I think you had to register the events

    I think u had to register the events
     
Thread Status:
Not open for further replies.

Share This Page