@Override public MCItemStack getCursor() { return new BukkitMCItemStack(ic.getCursor()); }
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onClick(InventoryClickEvent e) { if (!cm.isAntiNegativeItemDupe) { return; } ItemStack item = null; if (e.getCurrentItem() != null && e.getCurrentItem().getType() != Material.AIR) { item = e.getCurrentItem(); } else if (e.getCursor() != null && e.getCursor().getType() != Material.AIR) { item = e.getCursor(); } if (item != null && item.getAmount() <= 0) { item.setType(Material.AIR); } }
@EventHandler public void onPlayerInventoryPlace(InventoryClickEvent event) { switch(event.getAction()) { case PLACE_ALL: case PLACE_ONE: case PLACE_SOME: case SWAP_WITH_CURSOR: initMap(event.getCursor()); } }
@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 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 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(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); } } } }
@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(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 public void onOffhandInventoryClick(InventoryClickEvent e) { if (e.getInventory().getType() != InventoryType.CRAFTING || e.getSlotType() != InventoryType.SlotType.QUICKBAR || e.getSlot() != 40) return; if (!(e.getWhoClicked() instanceof Player)) return; Player player = (Player) e.getWhoClicked(); ItemStack currentIs = e.getCurrentItem(); ItemStack cursorIs = e.getCursor(); RPGItem currentItem = ItemManager.toRPGItem(currentIs).orElse(null); RPGItem cursorItem = ItemManager.toRPGItem(cursorIs).orElse(null); if (currentItem != null && (e.getAction() == InventoryAction.PICKUP_SOME || e.getAction() == InventoryAction.PICKUP_ALL || e.getAction() == InventoryAction.PICKUP_ONE || e.getAction() == InventoryAction.PICKUP_HALF || e.getAction() == InventoryAction.DROP_ALL_SLOT || e.getAction() == InventoryAction.DROP_ONE_CURSOR)) { Boolean cont = currentItem.power(player, currentIs, e, Trigger.PICKUP_OFF_HAND); if (!cont) e.setCancelled(true); } if (cursorItem != null && (e.getAction() == InventoryAction.PLACE_SOME || e.getAction() == InventoryAction.PLACE_ONE || e.getAction() == InventoryAction.PLACE_ALL)) { Boolean cont = cursorItem.power(player, cursorIs, e, Trigger.PLACE_OFF_HAND); if (!cont) e.setCancelled(true); } }
@EventHandler(ignoreCancelled = true) public void onInventoryClick(InventoryClickEvent event) { if (event.isCancelled()) return; if (!(event.getWhoClicked() instanceof Player)) return; InventoryType inventoryType = event.getInventory().getType(); InventoryType.SlotType slotType = event.getSlotType(); ItemStack cursor = event.getCursor(); ItemStack current = event.getCurrentItem(); SettingsManager manager = plugin.getSettingsManager(); if (inventoryType == InventoryType.ANVIL) { // Have to check "current" here as well to avoid shift+clicks if (manager.isMetaFieldType(cursor) || manager.isMetaFieldType(current)) { event.setCancelled(true); } } else if (slotType == InventoryType.SlotType.CRAFTING && (inventoryType == InventoryType.CRAFTING || inventoryType == InventoryType.WORKBENCH)) { if (manager.isMetaFieldType(cursor)) { 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); } }
ItemStack cursor = event.getCursor(); ItemStack current = event.getCurrentItem();
final ItemStack cursor = event.getCursor(); final ItemStack clicked = event.getCurrentItem(); boolean cancel = false;
case SWAP_WITH_CURSOR: if (event.getClickedInventory().getType() != InventoryType.PLAYER) { item = event.getCursor(); } else { item = null;
return; //Because Bukkit does strange stuff with the inventory in creative if(e.getCurrentItem() == null && e.getCursor() == null) return; ArmourType newArmourType = ArmourType.matchType(shift ? e.getCurrentItem() : e.getCursor()); ItemStack newArmourPiece = e.getCursor(); ItemStack oldArmourPiece = e.getCurrentItem(); if(numberkey){ //TODO This doesn't work oldArmourPiece = e.getInventory().getItem(e.getSlot()); } else {// Unequipping newArmourType = ArmourType.matchType(e.getCurrentItem() != null && e.getCurrentItem().getType() != Material.AIR ? e.getCurrentItem() : e.getCursor()); newArmourType = ArmourType.matchType(e.getCurrentItem() != null && e.getCurrentItem().getType() != Material.AIR ? e.getCurrentItem() : e.getCursor());
@EventHandler public void onClick(InventoryClickEvent e) { if (e.getClickedInventory() == null || e.getCurrentItem() == null || e.getCurrentItem().getItemMeta() == null || e.getCursor() == null) return;
ItemStack cursor = event.getCursor();
ItemStack cursor = event.getCursor(); ItemStack current = event.getCurrentItem(); Inventory anvilInventory = event.getInventory();