public void handle(@Nonnull InventoryClickEvent event) { Set<Consumer<InventoryClickEvent>> handlers = this.handlers.get(event.getClick()); if (handlers == null) { return; } for (Consumer<InventoryClickEvent> handler : handlers) { try { handler.accept(event); } catch (Exception ex) { ex.printStackTrace(); } } }
@EventHandler (priority = EventPriority.HIGH) public void onPlayerInteractGUI(InventoryClickEvent event) { if (event.getClickedInventory() == null) { return; } if (event.getClickedInventory().getHolder() instanceof FactionGUI) { event.setCancelled(true); ((FactionGUI) event.getClickedInventory().getHolder()).onClick(event.getRawSlot(), event.getClick()); } }
public void handle(@Nonnull InventoryClickEvent event) { Set<Consumer<InventoryClickEvent>> handlers = this.handlers.get(event.getClick()); if (handlers == null) { return; } for (Consumer<InventoryClickEvent> handler : handlers) { try { handler.accept(event); } catch (Exception ex) { ex.printStackTrace(); } } }
@Override public boolean isRightClick() { return ic.getClick().isRightClick(); }
@Override public boolean isLeftClick() { return ic.getClick().isLeftClick(); }
@Override public boolean isShiftClick() { return ic.getClick().isShiftClick(); }
@Override public boolean isCreativeClick() { return ic.getClick().isCreativeAction(); }
@Override public boolean isKeyboardClick() { return ic.getClick().isKeyboardClick(); }
@Override public MCClickType getClickType() { return BukkitMCClickType.getConvertor().getAbstractedEnum((ic.getClick())); } }
@EventHandler public void onClick(InventoryClickEvent event) { if (event.getWhoClicked().equals(player)) { // if the player clicked, then cancel this event event.setCancelled(true); // if the click was outside of the inventory, do nothing if (event.getRawSlot() < 0) { return; } // pass the click to the Display display.click(event.getRawSlot(), event.getSlot(), event.getClick()); } }
@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(priority=EventPriority.LOW) public void onShiftCrafting(InventoryClickEvent event) { if (event.getSlotType() == SlotType.RESULT && event.getClick().equals(ClickType.SHIFT_LEFT) && event.getWhoClicked() instanceof Player) { Player player = (Player) event.getWhoClicked(); String playerID = PlayerConverter.getID(player); if (containsPlayer(playerID)) { event.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 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.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(ignoreCancelled = true) public void onActivatorMenuClick(InventoryClickEvent event) { Inventory inv = event.getInventory(); String name = inv.getTitle(); if (name.equals(ChatColor.DARK_RED + "Sonic Activator")) { Player p = (Player) event.getWhoClicked(); int slot = event.getRawSlot(); if (slot >= 0 && slot < 9) { switch (slot) { case 7: event.setCancelled(true); break; case 8: event.setCancelled(true); // close save(p, inv); break; default: break; } } else { ClickType click = event.getClick(); if (click.equals(ClickType.SHIFT_RIGHT) || click.equals(ClickType.SHIFT_LEFT) || click.equals(ClickType.DOUBLE_CLICK)) { event.setCancelled(true); } } } }
@EventHandler public void inventoryClick(InventoryClickEvent e) { if (e.getInventory().getHolder() instanceof SoundLibraryHolder) { e.setCancelled(true); if (e.getCurrentItem() == null || e.getCurrentItem().getType().equals(Material.AIR) || e.getRawSlot() >= e.getInventory().getSize()) { return; } SoundLibraryHolder soundLibraryHolder = ((SoundLibraryHolder) e.getInventory().getHolder()); int i = e.getRawSlot(); if (i == 47) { openInventory((Player) e.getWhoClicked(), soundLibraryHolder.PAGE - 1, soundLibraryHolder.SEARCH); } else if (i == 51) { openInventory((Player) e.getWhoClicked(), soundLibraryHolder.PAGE + 1, soundLibraryHolder.SEARCH); } else { Sound sound = soundLibraryHolder.SOUNDS_DATA.get(e.getRawSlot()); if (e.getClick().isKeyboardClick()) { ((Player) e.getWhoClicked()).playSound(e.getWhoClicked().getLocation(), sound, 1f, 0f); } else if (e.getClick().isLeftClick()) { ((Player) e.getWhoClicked()).playSound(e.getWhoClicked().getLocation(), sound, 1f, 1f); } else if (e.getClick().isRightClick()) { ((Player) e.getWhoClicked()).playSound(e.getWhoClicked().getLocation(), sound, 1f, 2f); } else if (e.getClick().isCreativeAction()) { TLocale.sendTo(e.getWhoClicked(), "COMMANDS.TABOOLIB.SOUNDS.RESULT.COPY", sound.name()); } } } }
@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); } }
@EventHandler public void onClick(InventoryClickEvent e) { if (Variables.backpack.containsKey(e.getWhoClicked().getUniqueId())) { ItemStack item = Variables.backpack.get(e.getWhoClicked().getUniqueId()); if (e.getClick() == ClickType.NUMBER_KEY) { ItemStack hotbarItem = e.getWhoClicked().getInventory().getItem(e.getHotbarButton()); SlimefunItem sfItem = SlimefunItem.getByItem(hotbarItem); if (hotbarItem != null && hotbarItem.getType().toString().contains("SHULKER_BOX")) e.setCancelled(true); else if (sfItem instanceof SlimefunBackpack) e.setCancelled(true); } else { SlimefunItem sfItem = SlimefunItem.getByItem(e.getCurrentItem()); if (SlimefunManager.isItemSimiliar(item, SlimefunItem.getItem("COOLER"), false)) { if (e.getCurrentItem() == null || e.getCurrentItem().getType().equals(Material.AIR)); else if (!(sfItem instanceof Juice)) e.setCancelled(true); } else if (e.getCurrentItem() != null && e.getCurrentItem().getType().toString().contains("SHULKER_BOX")) e.setCancelled(true); else if (sfItem instanceof SlimefunBackpack) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_SMALL, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_MEDIUM, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_BIG, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_LARGE, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.BOUND_VOIDBAG, false)) e.setCancelled(true); } } }
@EventHandler(ignoreCancelled = true) public void onSeedMenuClick(InventoryClickEvent event) { Inventory inv = event.getInventory(); String name = inv.getTitle(); if (name.equals(ChatColor.DARK_RED + "TARDIS Seeds Menu")) { Player p = (Player) event.getWhoClicked(); int slot = event.getRawSlot(); if (slot >= 0 && slot < 27) { ItemStack is = inv.getItem(slot); if (is != null) { // close event.setCancelled(true); close(p); if (slot != 26) { plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> { ItemStack[] recipe = new TARDISSeedRecipeInventory(is.getType()).getMenu(); Inventory gui = plugin.getServer().createInventory(p, 27, ChatColor.DARK_RED + "TARDIS Seed Recipe"); gui.setContents(recipe); p.openInventory(gui); }, 2L); } } } else { ClickType click = event.getClick(); if (click.equals(ClickType.SHIFT_RIGHT) || click.equals(ClickType.SHIFT_LEFT) || click.equals(ClickType.DOUBLE_CLICK)) { event.setCancelled(true); } } } }