Refine search
if (view.getTopInventory().getType() != InventoryType.CRAFTING || viewSlot >= view .getTopInventory().getSize() || ((GlowInventory) view.getTopInventory()).getSlot(viewSlot).getType() != SlotType.RESULT) { ItemStack newCursor = cursor.clone(); Map<Integer, ItemStack> newSlots = new HashMap<>(); int perSlot = right ? 1 : cursor.getAmount() / slots.size(); for (int dragSlot : slots) { ItemStack oldItem = view.getItem(dragSlot); if (InventoryUtil.isEmpty(oldItem) || cursor.isSimilar(oldItem)) { Inventory dragInv = dragSlot < top.getSize() ? top : bottom; int oldItemAmount = InventoryUtil.itemOrEmpty(oldItem).getAmount(); event = new InventoryClickEvent(view, slotType, viewSlot, clickType, action, message.getButton()); } else { event = new InventoryClickEvent(view, slotType, viewSlot, clickType, action); if (event.isCancelled()) { 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;
if (event.isCancelled()) return; if (!(event.getWhoClicked() instanceof Player)) return; Player player = (Player)event.getWhoClicked(); final Mage mage = controller.getMage(player); InventoryAction action = event.getAction(); InventoryType inventoryType = event.getInventory().getType(); boolean isPlayerInventory = inventoryType == InventoryType.CRAFTING || inventoryType == InventoryType.PLAYER; ItemStack clickedItem = event.getCurrentItem(); boolean isDrop = event.getClick() == ClickType.DROP || event.getClick() == ClickType.CONTROL_DROP; boolean isSkill = clickedItem != null && Wand.isSkill(clickedItem); player.closeInventory(); event.setCancelled(true); return; event.setCancelled(true); return; event.setCurrentItem(replacement); event.setCancelled(true); return; ItemStack heldItem = event.getCursor(); boolean heldSpell = Wand.isSpell(heldItem); if (event.getSlotType() == InventoryType.SlotType.ARMOR)
@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.MONITOR, ignoreCancelled = true) public void onSeedBlockCraft(InventoryClickEvent event) { Inventory inv = event.getInventory(); int slot = event.getRawSlot(); if (inv.getType().equals(InventoryType.WORKBENCH) && slot < 10) { Player player = (Player) event.getWhoClicked(); UUID uuid = player.getUniqueId(); plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> { if (checkSlots(inv)) { event.setCancelled(true); TARDISMessage.send(player, "SEED_VALID"); inv.setItem(0, is); player.updateInventory(); if (slot == 0) { event.setCancelled(true); plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> { inv.setItem(i, null); if (!event.getAction().equals(InventoryAction.MOVE_TO_OTHER_INVENTORY)) { player.setItemOnCursor(is); crafters.remove(uuid);
@EventHandler(ignoreCancelled = true) public void onCraftBiomePresetDisk(InventoryClickEvent event) { Player player = (Player) event.getWhoClicked(); Inventory inv = event.getInventory(); int slot = event.getRawSlot(); if (inv.getType().equals(InventoryType.WORKBENCH) && slot < 10 && actions.contains(event.getAction())) { plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> { if (checkSlots(inv)) { if (inv.contains(Material.MUSIC_DISC_CAT)) { items.remove(inv.getItem(ladder)); String lookup = items.get(0).getType().toString() + "_B"; try { String biome = BIOME_LOOKUP.valueOf(lookup).getUpper(); disk.setItemMeta(dim); inv.setItem(0, disk); player.updateInventory(); disk.setItemMeta(dim); inv.setItem(0, disk); player.updateInventory();
@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); } } } }
if(WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld())) return; Inventory inventory = event.getInventory(); Block furnaceBlock = processInventoryOpenOrCloseEvent(event.getInventory()); if(event.getWhoClicked() instanceof Player) Player player = ((Player) event.getWhoClicked()).getPlayer(); HumanEntity whoClicked = event.getWhoClicked(); if (!UserManager.hasPlayerDataKey(event.getWhoClicked()) || !Permissions.isSubSkillEnabled(whoClicked, SubSkillType.ALCHEMY_CONCOCTIONS)) { return; ItemStack clicked = event.getCurrentItem(); ItemStack cursor = event.getCursor(); ClickType click = event.getClick(); InventoryType.SlotType slot = event.getSlotType(); if (!AlchemyPotionBrewer.transferItems(event.getView(), event.getRawSlot(), click)) { return; event.setCancelled(true); AlchemyPotionBrewer.scheduleUpdate(inventory); AlchemyPotionBrewer.scheduleCheck(player, stand);
@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(ignoreCancelled = true) public void onClick(InventoryClickEvent event) { if (!(event.getWhoClicked() instanceof Player)) { return; } Player player = (Player) event.getWhoClicked(); if (player.hasPermission("playervaults.bypassblockeditems")) { return; } Inventory clickedInventory = event.getClickedInventory(); if (clickedInventory != null) { VaultViewInfo info = PlayerVaults.getInstance().getInVault().get(player.getUniqueId().toString()); if (info != null) { int num = info.getNumber(); String inventoryTitle = clickedInventory.getTitle(); String title = Lang.VAULT_TITLE.toString().replace("%number", String.valueOf(num)).replace("%p", info.getVaultName()); if (((inventoryTitle != null && inventoryTitle.equalsIgnoreCase(title)) || event.getCurrentItem() != null)) { if (PlayerVaults.getInstance().isBlockedMaterial(event.getCurrentItem().getType())) { event.setCancelled(true); player.sendMessage(Lang.TITLE.toString() + Lang.BLOCKED_ITEM.toString().replace("%m", event.getCurrentItem().getType().name())); } } } } }
@EventHandler public void onInventoryClick(InventoryClickEvent event) { if (event.isCancelled()) return; if (!(event.getWhoClicked() instanceof Player)) return; InventoryType inventoryType = event.getInventory().getType(); SlotType slotType = event.getSlotType(); Player player = (Player)event.getWhoClicked(); Mage mage = controller.getMage(player); ItemStack cursor = event.getCursor(); ItemStack current = event.getCurrentItem(); Inventory anvilInventory = event.getInventory(); InventoryAction action = event.getAction(); ItemStack firstItem = anvilInventory.getItem(0); ItemStack secondItem = anvilInventory.getItem(1); event.setCancelled(true); return; event.setCancelled(true); mage.sendMessage(controller.getMessages().get("wand.bound").replace("$name", wand.getOwner())); return; if (event.getWhoClicked() instanceof Player) { wand.tryToOwn((Player)event.getWhoClicked()); if (!combiningEnabled) { if (firstItem != null && secondItem != null) { event.setCancelled(true);
@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; } } }
if(e.isCancelled()) return; if(e.getClick().equals(ClickType.SHIFT_LEFT) || e.getClick().equals(ClickType.SHIFT_RIGHT)) shift = true; if(e.getClick().equals(ClickType.NUMBER_KEY)) numberkey = true; if((e.getSlotType() != SlotType.ARMOR || e.getSlotType() != SlotType.QUICKBAR) && !e.getInventory().getType().equals(InventoryType.CRAFTING)) return; HumanEntity he = e.getWhoClicked(); if(e.getCurrentItem() == null && e.getCursor() == null) return; ArmourType newArmourType = ArmourType.matchType(shift ? e.getCurrentItem() : e.getCursor()); if(!shift && newArmourType != null && e.getRawSlot() != newArmourType.getSlot()) return; newArmourType = ArmourType.matchType(e.getCurrentItem()); if(newArmourType != null){ boolean equipping = true; if(e.getRawSlot() == newArmourType.getSlot()) equipping = false; && (equipping ? e.getWhoClicked().getInventory().getHelmet() == null : e.getWhoClicked().getInventory().getHelmet() != null) || newArmourType.equals(ArmourType.CHESTPLATE) && (equipping ? e.getWhoClicked().getInventory().getChestplate() == null
@EventHandler(ignoreCancelled = true) public void onTemporalTerminalClick(InventoryClickEvent event) { Inventory inv = event.getInventory(); String name = inv.getTitle(); if (name.equals(ChatColor.DARK_RED + "Temporal Locator")) { event.setCancelled(true); Player player = (Player) event.getWhoClicked(); int slot = event.getRawSlot(); if (slot >= 0 && slot < 27) { ItemStack is = inv.getItem(slot); if (is.hasItemMeta()) { ItemMeta im = is.getItemMeta(); List<String> lore = im.getLore(); long time = getTime(lore); plugin.getTrackerKeeper().getSetTime().put(player.getUniqueId(), time); TARDISMessage.send(player, "TEMPORAL_SET", String.format("%d", time)); int id = plugin.getTardisAPI().getIdOfTARDISPlayerIsIn(player.getUniqueId()); TARDISCircuitChecker tcc = new TARDISCircuitChecker(plugin, id); tcc.getCircuits();
@EventHandler(priority = EventPriority.HIGH) public void onInteract(InventoryClickEvent event) { Inventory inv = event.getView().getTopInventory(); if (inv instanceof AnvilInventory) { Player player = (Player) event.getWhoClicked(); int slot = event.getRawSlot(); // slot 2 = result item slot if (slot >= 0 && slot == 2) { ItemStack is = event.getCurrentItem(); if (is != null && is.hasItemMeta()) { ItemMeta im = is.getItemMeta(); ItemStack one = inv.getItem(0); ItemStack two = inv.getItem(1); if (checkRepair(one, two) && im.hasDisplayName() && disallow.containsKey(im.getDisplayName()) && is.getType() == disallow.get(im.getDisplayName())) { TARDISMessage.send(player, "NO_RENAME"); event.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); } } } }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onInventoryClick(InventoryClickEvent event) { if (event.getRawSlot() < 0 || event.getRawSlot() > 2 || event.getCurrentItem() == null || event.getCurrentItem().getType() == Material.AIR || event.getAction() == InventoryAction.NOTHING || event.getClick() == ClickType.NUMBER_KEY && event.getAction() == InventoryAction.HOTBAR_MOVE_AND_READD) { return; Player player = (Player) event.getWhoClicked(); NormalAchievements category; InventoryType inventoryType = event.getInventory().getType(); if (event.getRawSlot() == 2 && inventoryType == InventoryType.MERCHANT) { category = NormalAchievements.TRADES; } else if (event.getRawSlot() == 2 && inventoryType == InventoryType.ANVIL) { category = NormalAchievements.ANVILS; } else if (inventoryType == InventoryType.BREWING && (event.getCurrentItem().getType() == Material.POTION || serverVersion >= 9 && event.getCurrentItem().getType() == Material.SPLASH_POTION) && !isWaterPotion(event.getCurrentItem())) { category = NormalAchievements.BREWING; } else if (event.getRawSlot() == 2 && inventoryType == InventoryType.FURNACE) { category = NormalAchievements.SMELTING; } else { && isInCooldownPeriod(player, Integer.toString(event.getRawSlot()), false, category)) { return; int eventAmount = event.getCurrentItem().getAmount(); if (event.isShiftClick()) { eventAmount = Math.min(eventAmount, getInventoryAvailableSpace(player, event.getCurrentItem())); if (eventAmount == 0) {
@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(priority = EventPriority.HIGHEST) public void onInventoryClick(InventoryClickEvent e){ if(e.getWhoClicked() instanceof Player){ Player p = (Player) e.getWhoClicked(); if(isBlocking(p.getUniqueId())){ ItemStack cursor = e.getCursor(); ItemStack current = e.getCurrentItem(); if(cursor != null && cursor.getType() == Material.SHIELD || current != null && current.getType() == Material.SHIELD){ e.setCancelled(true); restore(p); } } } }
if (!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("[DuelRequest]")) return; Player player = (Player) e.getWhoClicked(); e.setCancelled(true); UUID uuid = duels.get(player.getUniqueId()); switch (e.getCurrentItem().getType()) { case EMERALD_BLOCK: player.closeInventory(); player.sendMessage(ChatColor.DARK_RED + "[" + ChatColor.DARK_GREEN + "HuntsCraft" + ChatColor.DARK_RED + "]" + ChatColor.GREEN + " You accepted the request"); player.getInventory().setItem(0, new ItemStack(Material.DIAMOND_SWORD)); player.getInventory().setItem(1, new ItemStack(Material.BOW));
@EventHandler(ignoreCancelled = true) public void onPerceptionFilterRemove(InventoryClickEvent event) { if (event.getInventory().getType().equals(InventoryType.CRAFTING)) { int slot = event.getRawSlot(); if (slot >= 0 && slot == 6) { ItemStack is = event.getCurrentItem(); if (is != null) { if (is.hasItemMeta()) { ItemMeta im = is.getItemMeta(); if (im.hasDisplayName() && im.getDisplayName().equals("Perception Filter")) { if (event.getAction().equals(InventoryAction.PICKUP_ALL)) { plugin.getFilter().removePerceptionFilter((Player) event.getWhoClicked()); } } } } } } } }