@EventHandler(priority = EventPriority.HIGHEST) public void onDrag(InventoryDragEvent e){ if(!isEnabled(e.getWhoClicked().getWorld())) return; if(e.getOldCursor() == null || (e.getCursor() != null && e.getCursor().getType() != Material.ELYTRA)) return; if(!e.getInventorySlots().contains(38)) return; e.setCancelled(true); }
@Override public Set<Integer> getRawSlots() { Set<Integer> ret = new HashSet<>(); for(Integer rs : id.getRawSlots()) { ret.add(rs); } return ret; }
@EventHandler(priority = EventPriority.HIGHEST) public void onInventoryDrag(InventoryDragEvent e){ if(!isEnabled(e.getWhoClicked().getWorld()) || e.getInventory().getType() != InventoryType.CRAFTING || !e.getInventorySlots().contains(40)) return; if(shouldWeCancel(e.getOldCursor())){ e.setResult(Event.Result.DENY); e.setCancelled(true); } }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onInventoryDragEvent(InventoryDragEvent event) { if(WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld())) return; Inventory inventory = event.getInventory(); HumanEntity whoClicked = event.getWhoClicked(); if (!UserManager.hasPlayerDataKey(event.getWhoClicked()) || !Permissions.isSubSkillEnabled(whoClicked, SubSkillType.ALCHEMY_CONCOCTIONS)) { return; if (!event.getInventorySlots().contains(Alchemy.INGREDIENT_SLOT)) { return; ItemStack cursor = event.getCursor(); ItemStack ingredient = ((BrewerInventory) inventory).getIngredient(); event.setCancelled(true); AlchemyPotionBrewer.scheduleUpdate(inventory);
@EventHandler(ignoreCancelled = true) public void onInventoryDrag(InventoryDragEvent event) { HumanEntity clicked = event.getWhoClicked(); Mage mage = controller.getMage(clicked); GUIAction activeGUI = mage.getActiveGUI(); Set<Integer> slots = event.getInventorySlots(); boolean isArmorSlot = !Collections.disjoint(slots, armorSlots); boolean isOffhandSlot = slots.contains(OFFHAND_SLOT); ItemStack oldCursor = event.getOldCursor(); oldCursor = oldCursor.hasItemMeta() ? InventoryUtils.makeReal(oldCursor) : oldCursor; event.setCancelled(true); return; ItemStack oldStack = event.getOldCursor(); HumanEntity entity = event.getWhoClicked(); if (oldStack != null && oldStack.hasItemMeta() && entity instanceof Player) { Map<Integer, ItemStack> draggedSlots = event.getNewItems(); if (draggedSlots.size() != 1) return; event.setCancelled(true); InventoryView view = event.getView(); for (Integer dslot : draggedSlots.keySet()) { CompleteDragTask completeDrag = new CompleteDragTask((Player)entity, view, dslot);
@Override public void dragged(InventoryDragEvent event) { event.setCancelled(true); }
@EventHandler(ignoreCancelled = true) public void onDrag(InventoryDragEvent event) { if (!(event.getWhoClicked() instanceof Player)) { return; Player player = (Player) event.getWhoClicked(); if (player.hasPermission("playervaults.bypassblockeditems")) { return; Inventory clickedInventory = event.getInventory(); if (clickedInventory != null) { VaultViewInfo info = PlayerVaults.getInstance().getInVault().get(player.getUniqueId().toString()); 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.getNewItems() != null) { for (ItemStack item : event.getNewItems().values()) { if (PlayerVaults.getInstance().isBlockedMaterial(item.getType())) { event.setCancelled(true); player.sendMessage(Lang.TITLE.toString() + Lang.BLOCKED_ITEM.toString().replace("%m", item.getType().name())); return;
@EventHandler(priority = EventPriority.LOW) public void onInventoryDrag(InventoryDragEvent e) { Player p = (Player) e.getWhoClicked(); if(!inventories.containsKey(p)) return; SmartInventory inv = inventories.get(p); for(int slot : e.getRawSlots()) { if(slot >= p.getOpenInventory().getTopInventory().getSize()) continue; e.setCancelled(true); break; } inv.getListeners().stream() .filter(listener -> listener.getType() == InventoryDragEvent.class) .forEach(listener -> ((InventoryListener<InventoryDragEvent>) listener).accept(e)); }
@EventHandler public void onItemDrag(InventoryDragEvent event) { if (!(event.getWhoClicked() instanceof Player)) { return; } if (event.getWhoClicked().getGameMode() == GameMode.CREATIVE) { return; } String playerID = PlayerConverter.getID((Player) event.getWhoClicked()); if (Journal.isJournal(playerID, event.getOldCursor()) || Utils.isQuestItem(event.getOldCursor())) { event.setCancelled(true); } }
@EventHandler(ignoreCancelled = true) public void onMenuDrag(InventoryDragEvent event) { Inventory inv = event.getInventory(); String title = inv.getTitle(); if (!titles.containsKey(title)) { return; } Set<Integer> slots = event.getRawSlots(); slots.forEach((slot) -> { if ((slot >= 0 && slot < titles.get(title))) { event.setCancelled(true); } }); }
@EventHandler (priority = EventPriority.HIGH) public void onPlayerMoveGUI(InventoryDragEvent event) { if (event.getInventory().getHolder() instanceof FactionGUI) { event.setCancelled(true); } }
@EventHandler public void onInventoryDrag(InventoryDragEvent event) { if (event.getInventory().getType() != InventoryType.ANVIL) return; if (!event.getInventorySlots().contains(0)) return; ItemStack oldCursor = event.getOldCursor(); oldCursor = oldCursor.hasItemMeta() ? InventoryUtils.makeReal(oldCursor) : oldCursor; ItemStack item = event.getNewItems().get(0); if (item != null && item.hasItemMeta()) { item = InventoryUtils.makeReal(item); Wand wand = controller.getWand(item); wand.updateName(false); final Inventory inventory = event.getInventory(); final ItemStack finalItem = item;
@Override public Set<Integer> getInventorySlots() { Set<Integer> ret = new HashSet<>(); for(Integer is : id.getInventorySlots()) { ret.add(is); } return ret; }
@Override public MCItemStack getOldCursor() { return new BukkitMCItemStack(id.getOldCursor()); }
@Override public Map<Integer, MCItemStack> getNewItems() { Map<Integer, MCItemStack> ret = new HashMap<>(); for(Map.Entry<Integer, ItemStack> ni : id.getNewItems().entrySet()) { Integer key = ni.getKey(); ItemStack value = ni.getValue(); ret.put(key, new BukkitMCItemStack(value)); } return ret; }
@Override public MCItemStack getCursor() { return new BukkitMCItemStack(id.getCursor()); }
@Override public void dragged(InventoryDragEvent event) { event.setCancelled(true); }
@EventHandler(ignoreCancelled = true) private void dragMenu(InventoryDragEvent event){ MinigamePlayer ply = pdata.getMinigamePlayer((Player)event.getWhoClicked()); if(ply.isInMenu()){ if(!ply.getMenu().getAllowModify()){ for(int slot : event.getRawSlots()){ if(slot < ply.getMenu().getSize()){ event.setCancelled(true); break; } } } else{ Set<Integer> slots = new HashSet<Integer>(event.getRawSlots()); for(int slot : slots){ if(ply.getMenu().hasMenuItem(slot)){ event.getRawSlots().remove(slot); } } } } }
@Override public void dragged(InventoryDragEvent event) { event.setCancelled(true); }
@Override public void dragged(InventoryDragEvent event) { event.setCancelled(true); }