Buggy code:
public class ControlPanel implements Listener { private static YamlConfiguration miniShopFile ; private static HashMap < Integer , MiniShopItem > store = new HashMap < Integer , MiniShopItem > ( ) ; private static YamlConfiguration cpFile ; private ASkyBlock plugin ; private static boolean allowSelling ; private static String defaultPanelName ; public ControlPanel ( ASkyBlock plugin ) { } private static HashMap < String , HashMap < Integer , CPItem > > panels = new HashMap < String , HashMap < Integer , CPItem > > ( ) ; public static HashMap < String , Inventory > controlPanel = new HashMap < String , Inventory > ( ) ; public static Inventory miniShop ; public static void loadShop ( ) { } public static void loadControlPanel ( ) { } @ EventHandler public void onInventoryClick ( InventoryClickEvent event ) { Player player = ( ( Player ) ( event . getWhoClicked ( ) ) ) ; ItemStack clicked = event . getCurrentItem ( ) ; Inventory inventory = event . getInventory ( ) ; int slot = event . getRawSlot ( ) ; <START_BUG> if ( inventory . getName ( ) . equalsIgnoreCase ( "Island<seq2seq4repair_space>Guard<seq2seq4repair_space>Settings" ) ) { <END_BUG> if ( ( event . getSlotType ( ) ) == ( SlotType . OUTSIDE ) ) { player . closeInventory ( ) ; return ; } event . setCancelled ( true ) ; return ; } if ( inventory . getName ( ) . equals ( challengesguiTitle ) ) { event . setCancelled ( true ) ; if ( ( event . getSlotType ( ) ) == ( SlotType . OUTSIDE ) ) { player . closeInventory ( ) ; return ; } List < CPItem > challenges = plugin . getChallenges ( ) . getCP ( player ) ; if ( challenges == null ) { plugin . getLogger ( ) . warning ( "Player<seq2seq4repair_space>was<seq2seq4repair_space>accessing<seq2seq4repair_space>Challenge<seq2seq4repair_space>Inventory,<seq2seq4repair_space>but<seq2seq4repair_space>it<seq2seq4repair_space>had<seq2seq4repair_space>lost<seq2seq4repair_space>state<seq2seq4repair_space>-<seq2seq4repair_space>was<seq2seq4repair_space>server<seq2seq4repair_space>restarted?" ) ; player . closeInventory ( ) ; player . performCommand ( CHALLENGECOMMAND ) ; return ; } if ( ( slot >= 0 ) && ( slot < ( challenges . size ( ) ) ) ) { CPItem item = challenges . get ( slot ) ; if ( clicked . equals ( item . getItem ( ) ) ) { if ( ( item . getNextSection ( ) ) != null ) { player . closeInventory ( ) ; player . openInventory ( plugin . getChallenges ( ) . challengePanel ( player , item . getNextSection ( ) ) ) ; } else if ( ( item . getCommand ( ) ) != null ) { player . performCommand ( item . getCommand ( ) ) ; player . closeInventory ( ) ; player . openInventory ( plugin . getChallenges ( ) . challengePanel ( player ) ) ; } } } } if ( ( ( ControlPanel . miniShop ) != null ) && ( inventory . getName ( ) . equals ( ControlPanel . miniShop . getName ( ) ) ) ) { String message = "" ; event . setCancelled ( true ) ; if ( ( ! ( Settings . useEconomy ) ) || ( slot == ( - 999 ) ) ) { player . closeInventory ( ) ; return ; } if ( ControlPanel . store . containsKey ( slot ) ) { MiniShopItem item = ControlPanel . store . get ( slot ) ; if ( clicked . equals ( item . getItem ( ) ) ) { if ( event . getClick ( ) . equals ( LEFT ) ) { if ( ( item . getPrice ( ) ) > 0.0 ) { if ( ! ( econ . has ( player , worldName , item . getPrice ( ) ) ) ) { message = minishopYouCannotAfford . replace ( "[description]" , item . getDescription ( ) ) ; } else { EconomyResponse r = econ . withdrawPlayer ( player , worldName , item . getPrice ( ) ) ; if ( r . transactionSuccess ( ) ) { message = minishopYouBought . replace ( "[number]" , Integer . toString ( item . getQuantity ( ) ) ) ; message = message . replace ( "[description]" , item . getDescription ( ) ) ; message = message . replace ( "[price]" , econ . format ( item . getPrice ( ) ) ) ; player . getInventory ( ) . addItem ( item . getItemClean ( ) ) ; } else { message = minishopBuyProblem . replace ( "[description]" , item . getDescription ( ) ) ; } } } } else if ( ( ( event . getClick ( ) . equals ( RIGHT ) ) && ( ControlPanel . allowSelling ) ) && ( ( item . getSellPrice ( ) ) > 0.0 ) ) { if ( player . getInventory ( ) . containsAtLeast ( item . getItemClean ( ) , item . getQuantity ( ) ) ) { player . getInventory ( ) . removeItem ( item . getItemClean ( ) ) ; econ . depositPlayer ( player , worldName , item . getSellPrice ( ) ) ; message = minishopYouSold . replace ( "[number]" , Integer . toString ( item . getQuantity ( ) ) ) ; message = message . replace ( "[description]" , item . getDescription ( ) ) ; message = message . replace ( "[price]" , econ . format ( item . getSellPrice ( ) ) ) ; } else { message = minishopSellProblem . replace ( "[description]" , item . getDescription ( ) ) ; } } if ( ! ( message . isEmpty ( ) ) ) { player . sendMessage ( message ) ; } } } } for ( String panelName : ControlPanel . controlPanel . keySet ( ) ) { if ( inventory . getName ( ) . equals ( panelName ) ) { if ( slot == ( - 999 ) ) { player . closeInventory ( ) ;

Fix:
if ( inventory . getName ( ) . equalsIgnoreCase ( igsTitle ) ) {