@Override public void setCursor(MCItemStack cursor) { // deprecated in 1.5 because it can create client/server desync ic.setCursor(((BukkitMCItemStack) cursor).asItemStack()); }
@EventHandler(priority = EventPriority.LOWEST) void on(InventoryClickEvent event) { if (inventory != null && inventory.isMenuInventory(event.getInventory())) { event.setCursor(null); event.setCancelled(true); event.setResult(Event.Result.DENY); int slot = event.getRawSlot(); if (slot >= 0 && slot < getSize() && options.containsKey(slot)) { final IconMenu.OptionClickEvent e = new IconMenu.OptionClickEvent((Player) event.getWhoClicked(), slot, this, options.get(slot)); handler.onOptionClick(e); final Player p = (Player) event.getWhoClicked(); new BukkitRunnable() { @Override public void run() { if (e.willClose()) { p.closeInventory(); } if (e.willDestroy()) { destroy(); } } }.runTaskLater(MyPetApi.getPlugin(), 0); } } }
event.setCursor(null); event.setCancelled(true); return;