@Override public CraftingInventory getInventory() { return (CraftingInventory) super.getInventory(); } }
int slot = event.getSlot(); player.getSession().send(new SetWindowSlotMessage(player.getOpenWindowId(), slot, event.getInventory().getItem(slot))); player.getSession().send(new SetWindowSlotMessage(-1, -1, player.getItemOnCursor())); return true;
@Override public CraftingInventory getInventory() { return (CraftingInventory) super.getInventory(); } }
@EventHandler(ignoreCancelled = true) public void onPlayerInventoryViewClick(InventoryClickEvent event) { String title = event.getInventory().getTitle(); if (title.startsWith(ChatColor.DARK_RED + "") && title.endsWith("'s Inventory")) { event.setCancelled(true); } } }
@EventHandler public void onAnvil(InventoryClickEvent e) { if (e.getRawSlot() == 2 && e.getWhoClicked() instanceof Player && e.getInventory().getType() == InventoryType.ANVIL) { if (SlimefunManager.isItemSimiliar(e.getInventory().getContents()[0], SlimefunItems.ELYTRA, true)) return; if (SlimefunItem.getByItem(e.getInventory().getContents()[0]) != null && !SlimefunItem.isDisabled(e.getInventory().getContents()[0])) { e.setCancelled(true); Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true); } } }
@EventHandler public void onClick(final InventoryClickEvent e) { if (e.getInventory() != null && e.getInventory().getType().equals(InventoryType.CHEST)) { GuiWindow window = GuiWindow.getWindow(e.getInventory().getTitle()); if (window != null) { GuiItem item = window.getItem(e.getSlot()); if (item != null) { item.handleClick(e); } e.setResult(Event.Result.DENY); e.setCancelled(true); } } }
@EventHandler(priority = EventPriority.MONITOR) void onMonitor(InventoryClickEvent event) { if (inventory != null && inventory.isMenuInventory(event.getInventory())) { event.setCancelled(true); event.setResult(Event.Result.DENY); } }
@EventHandler public void onIngredientPut(InventoryClickEvent event) { if (event.getInventory().getType() != InventoryType.BREWING) return; if (event.getRawSlot() == 3 || event.getClick().equals(ClickType.SHIFT_LEFT)) { String playerID = PlayerConverter.getID((Player) event.getWhoClicked()); if (!containsPlayer(playerID)) return; locations.put(((BrewingStand) event.getInventory().getHolder()).getLocation(), playerID); } }
@EventHandler public void inventoryClick(InventoryClickEvent e) { if (e.getInventory().getHolder() instanceof ItemLibraryHolder) { e.setCancelled(true); if (e.getCurrentItem() == null || e.getCurrentItem().getType().equals(Material.AIR) || e.getRawSlot() >= e.getInventory().getSize()) { return; } int i = e.getRawSlot(); if (i == 47) { openInventory((Player) e.getWhoClicked(), ((ItemLibraryHolder) e.getInventory().getHolder()).PAGE - 1); } else if (i == 51) { openInventory((Player) e.getWhoClicked(), ((ItemLibraryHolder) e.getInventory().getHolder()).PAGE + 1); } else { e.getWhoClicked().getInventory().addItem(ItemUtils.getCacheItem(((ItemLibraryHolder) e.getInventory().getHolder()).ITEMS_DATA.get(e.getRawSlot()))); } } }
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onClick(InventoryClickEvent e) { if (!(e.getInventory().getHolder() instanceof MenuBuilderHolder)) { return; } MenuBuilderHolder holder = (MenuBuilderHolder) e.getInventory().getHolder(); if (holder.isLock() || e.getAction() == InventoryAction.COLLECT_TO_CURSOR) { e.setCancelled(true); } Optional.ofNullable(holder.getItems().get(e.getRawSlot())).ifPresent(item -> { if (item.getCallable() != null) { item.getCallable().call(new MenuBuilderEvent(e, (Player) e.getWhoClicked(), e.getCurrentItem(), e.getRawSlot())); } }); }
@EventHandler (ignoreCancelled = true) public void onPreBrew(InventoryClickEvent e) { Inventory inventory = e.getInventory(); if (inventory instanceof BrewerInventory && inventory.getHolder() instanceof BrewingStand) { if(e.getRawSlot() < inventory.getSize()) e.setCancelled(SlimefunItem.getByItem(e.getCursor()) != null); } } }
@EventHandler //MAKE SURE YOU HAVE THIS public void InventoryClick(InventoryClickEvent e){ Player p = (Player) e.getWhoClicked(); if(e.getInventory().getTitle().contains("put the name of the GUI here (CAsE SEnsITivE)")){ //Cancel the event so they can't take items out of the GUI e.setCancelled(true); if(e.getCurrentItem() == null){ return; } //gets called when the current item's type (The item the player clicked) is a diamond else if(e.getCurrentItem().getType() == Material.DIAMOND){ //send the player a message when they click it p.sendMessage("You clicked the diamond!"); //call this if you want to close the inventory when they click it p.closeInventory(); } } }
@EventHandler public void onButtonClick(InventoryClickEvent event) { if (!(event.getWhoClicked() instanceof Player)) { return; } Player player = (Player) event.getWhoClicked(); Inventory gui = event.getInventory(); ItemStack button = event.getCurrentItem(); Announcer announcer = announcers.getByGUI(gui); if (announcer != null && button != null && button.getData() instanceof Wool) { announcer.clickGroupButton(player, button); } }
@EventHandler(ignoreCancelled = true) public void onInventoryClick(InventoryClickEvent event) { if (!(event.getInventory() instanceof FurnaceInventory)) { return; } Furnace furnace = (Furnace) event.getInventory().getHolder(); // Setting cookTime when the furnace is empty but already burning if (furnace.getInventory().getTitle().equals("TARDIS Artron Furnace") && plugin.getTrackerKeeper().getArtronFurnaces().contains(furnace.getLocation().toString()) && (event.getSlot() == 0 || event.getSlot() == 1) // Click in one of the two slots && event.getCursor().getType() != Material.AIR // With an item && furnace.getCookTime() > cookTime) { // The furnace is not already burning something if (plugin.isHelperOnServer()) { plugin.getTardisHelper().setCookTimeTotal(furnace.getBlock(), cookTime); } else { furnace.setCookTime(cookTime); } } }
@EventHandler public void onInventoryClick(InventoryClickEvent event) { if (!(event.getWhoClicked() instanceof Player)) return; if (event.isCancelled()) return; InventoryType inventoryType = event.getInventory().getType(); SlotType slotType = event.getSlotType(); // Check for wand clicks to prevent grinding them to dust, or whatever. if (slotType == SlotType.CRAFTING && (inventoryType == InventoryType.CRAFTING || inventoryType == InventoryType.WORKBENCH)) { ItemStack cursor = event.getCursor(); if (Wand.isSpecial(cursor)) { event.setCancelled(true); return; } } }
@EventHandler public void onShiftSmelting(InventoryClickEvent event) { if (event.getInventory().getType().equals(InventoryType.FURNACE) && event.getRawSlot() == 2 && event.getClick().equals(ClickType.SHIFT_LEFT) && event.getWhoClicked() instanceof Player) { String playerID = PlayerConverter.getID((Player) event.getWhoClicked()); if (containsPlayer(playerID)) event.setCancelled(true); } }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onInventoryClick(InventoryClickEvent e) { HumanEntity human = e.getWhoClicked(); if (human instanceof Player && e.getInventory() instanceof CraftingInventory) { final Player player = (Player) human; if (e.getCurrentItem() != null) { if (ArmorType.isArmor(e.getCurrentItem().getTypeId())) { sendDelayedArmorUpdate(player); return; } } if (e.getRawSlot() >= 5 && e.getRawSlot() <= 8) { sendDelayedArmorUpdate(player); } } }
@EventHandler(priority = EventPriority.HIGHEST) public void onInventoryClick(InventoryClickEvent e){ if(!isEnabled(e.getWhoClicked().getWorld()) || e.getInventory().getType() != InventoryType.CRAFTING || //Making sure it's a survival player's inventory e.getSlot() != 40) return; // If they didn't click into the offhand slot, return if(e.getClick().equals(ClickType.NUMBER_KEY) || shouldWeCancel(e.getCursor())){ e.setResult(Event.Result.DENY); e.setCancelled(true); } }
@EventHandler(priority = EventPriority.HIGHEST) public void onInventoryClick(InventoryClickEvent e){ if(!(e.getWhoClicked() instanceof Player)) return; Player player = (Player) e.getWhoClicked(); if(!isEnabled(player.getWorld())) return; if(player.getGameMode() == GameMode.CREATIVE) return; InventoryType type = e.getInventory().getType(); // Only if they're in their inventory, not chests etc. if(type != InventoryType.CRAFTING && type != InventoryType.PLAYER) return; ItemStack cursor = e.getCursor(); ItemStack currentItem = e.getCurrentItem(); if((cursor != null && cursor.getType() != Material.ELYTRA) && (currentItem != null && currentItem.getType() != Material.ELYTRA)){ return; } if(e.getSlot() == 38 || e.getClick() == ClickType.SHIFT_LEFT || e.getClick() == ClickType.SHIFT_RIGHT){ e.setCancelled(true); } }
@EventHandler public void onInventoryClick(InventoryClickEvent e){ if(!isEnabled(e.getWhoClicked().getWorld())) return; if(e.getInventory().getType() != InventoryType.ENCHANTING) return; if(!hasPermission(e.getWhoClicked())) return; ItemStack item = e.getCurrentItem(); if(item == null){ return; } if(item.getType() == lapisLazuliMaterial && e.getRawSlot() == 1){ e.setCancelled(true); } else if(e.getCursor() != null && e.getCursor().getType() == lapisLazuliMaterial && e.getClick() == ClickType.DOUBLE_CLICK){ e.setCancelled(true); } }