Error on drop item from inventory (gui menu)

Discussion in 'Spigot Plugin Development' started by Settler, May 8, 2015.

  1. Hello.
    Im geting error when someone drop item from chest inventory
    But only from slots 36 to 44

    So when i type /report asdqwe
    i will get gui menu.
    And when i click on cactus with q (drop button)
    hl2.PNG
    I get kick from the server and this error or warn...
    hl1.PNG
    Help...
     
  2. Can we see your code please?
     
  3. Code (Text):

            if(!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("   Select Report Reason")) {
                return;
            }
                Player clicker = (Player) e.getWhoClicked();
                e.setCancelled(true);
                if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || !e.getCurrentItem().hasItemMeta()){
                    clicker.closeInventory();
                    clicker.playSound(clicker.getEyeLocation(), Sound.ANVIL_LAND, 2, 2);
                    clicker.sendMessage(ChatColor.RED + "Invalid selection.");
                    return;
                }
    //KILLAURA REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Kill Aura/Forcefield")) {
        ;
                    getConfig().set("Reports." + clicker.getName() + " Reported " +
                            reportname.get(clicker.getName()), "s");
                    saveConfig();
                 
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //ANTIKNOCKBACK REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Anti-Knockback")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //TRIGGERBOT REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("TriggerBot")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //FLYING REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Flying")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //SPEEDHACKS REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Speed-Hacks")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //AIMBOT REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Aimbot")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //AUTOPOT REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("AutoPot/AutoSoup")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //FASTBOW REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Fast-Bow")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //FASTEAT REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Fast-Eat")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //CAMPING REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Camping")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //TEAMING REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Teaming")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //SWEARING REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Swearing")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //OTHER REPORT  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Other")) {
                    clicker.sendMessage(ChatColor.RED + "You reported " + reportname.get(clicker.getName()) +
                            " for something " + e.getCurrentItem().getItemMeta().getDisplayName() + ChatColor.RED + ".");
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }

    //CANCEL  
    if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Cancel")) {
                    clicker.playSound(clicker.getEyeLocation(), Sound.SUCCESSFUL_HIT, 2, 2);
                    e.setCancelled(true);
                    clicker.closeInventory();
                    return;
    }
        }
    @BurnerDiamond
     
  4. Inkzzz

    Resource Staff

    Check if the item is null / air / doesn't have an item meta, then return it.
     
  5. [​IMG]
    @Settler Aside the above, you forgot to cancel the event as well.