public class BackpackInsideBackpackLimitation implements Listener { @EventHandler private void onClick(InventoryClickEvent event) { Inventory targetInventory; ItemStack targetItem; if(event.getClickedInventory() == null) return; if(event.getClick() == ClickType.NUMBER_KEY) { targetInventory = event.getClickedInventory(); targetItem = event.getWhoClicked().getInventory().getItem(event.getHotbarButton()); } else if(event.isShiftClick()) { targetInventory = event.getClickedInventory() == event.getView().getBottomInventory() ? event.getView().getTopInventory() : event.getView().getBottomInventory(); targetItem = event.getCurrentItem(); } else { targetInventory = event.getClickedInventory(); targetItem = event.getCursor(); } if(targetInventory == null) return; if(targetItem == null) return; if(!(targetInventory.getHolder() instanceof BackpackInventory)) return; if(!BackpackInventory.isBackpack(targetItem)) return; event.setCancelled(true); } }