@EventHandler void onInventoryClose(InventoryCloseEvent event) { if (inventory != null && inventory.isMenuInventory(event.getInventory()) && inventory.getViewers().size() == 0) { inventory = null; } }
/** * Called when an inventory is closed. */ @EventHandler public void onInvClose(InventoryCloseEvent event) { if (event.getInventory().getTitle().startsWith(InvPrefix)) { int id = Integer.parseInt(event.getInventory().getTitle().substring(InvPrefix.length())); NPC npc = CitizensAPI.getNPCRegistry().getById(id); if (npc != null && npc.hasTrait(SentinelTrait.class)) { ArrayList<ItemStack> its = npc.getTrait(SentinelTrait.class).drops; its.clear(); for (ItemStack it : event.getInventory().getContents()) { if (it != null && it.getType() != Material.AIR) { its.add(it); } } } } }
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onClose(InventoryCloseEvent event) { saveVault((Player) event.getPlayer(), event.getInventory()); }
@EventHandler(priority = EventPriority.LOW) public void onInventoryClose(InventoryCloseEvent e) { Player p = (Player) e.getPlayer(); if(!inventories.containsKey(p)) return; SmartInventory inv = inventories.get(p); inv.getListeners().stream() .filter(listener -> listener.getType() == InventoryCloseEvent.class) .forEach(listener -> ((InventoryListener<InventoryCloseEvent>) listener).accept(e)); if(inv.isCloseable()) { e.getInventory().clear(); inventories.remove(p); contents.remove(p); } else Bukkit.getScheduler().runTask(plugin, () -> p.openInventory(e.getInventory())); }
@EventHandler public void onClose(final InventoryCloseEvent e) { GuiWindow window = GuiWindow.getWindow(e.getInventory().getTitle()); if (window != null) { window.handleClose(e); } }
@EventHandler(priority = EventPriority.LOWEST) public void onGUIClose(InventoryCloseEvent e) { Inventory inv = e.getInventory(); if (inv == null) { return; } if (i18n.tr("title").equals(inv.getTitle())) { GUISortPingHolder.clear(e.getPlayer().getName()); } }
@EventHandler public void onClose(InventoryCloseEvent e) { if (Variables.enchanting.containsKey(e.getPlayer().getUniqueId())) Variables.enchanting.remove(e.getPlayer().getUniqueId()); if (Variables.backpack.containsKey(e.getPlayer().getUniqueId())) { ((Player) e.getPlayer()).playSound(e.getPlayer().getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); Backpacks.saveBackpack(e.getInventory(), Variables.backpack.get(e.getPlayer().getUniqueId())); Variables.backpack.remove(e.getPlayer().getUniqueId()); } }
@EventHandler public void onInventoryClose(InventoryCloseEvent event) { Player p = (Player) event.getPlayer(); UUID uuid = p.getUniqueId(); Inventory inv = event.getInventory(); if (crafters.contains(uuid) && inv.getType().equals(InventoryType.WORKBENCH)) { // remove dropped items around workbench plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> p.getNearbyEntities(6, 6, 6).forEach((e) -> { if (e instanceof Item) { e.remove(); } }), 1L); crafters.remove(uuid); } }
@EventHandler(ignoreCancelled = true) public void onHandlesProgramClose(InventoryCloseEvent event) { Inventory inv = event.getInventory(); String title = inv.getTitle(); if (!title.equals(ChatColor.DARK_RED + "Handles Program")) { return; } Player p = (Player) event.getPlayer(); ItemStack item = p.getItemOnCursor(); if (item != null && item.getType().equals(Material.BOWL)) { p.setItemOnCursor(null); } }
@EventHandler(ignoreCancelled = true) public void onSonicMenuClose(InventoryCloseEvent event) { Inventory inv = event.getInventory(); String title = inv.getTitle(); if (!title.equals(ChatColor.DARK_RED + "Sonic Prefs Menu")) { return; } ItemStack sonic = inv.getItem(18); if (sonic != null) { Player p = (Player) event.getPlayer(); Location loc = p.getLocation(); loc.getWorld().dropItemNaturally(loc, sonic); inv.setItem(18, new ItemStack(Material.AIR)); } } }
@EventHandler public void onInventoryClose(InventoryCloseEvent e) { if (recipeWindows.containsKey(e.getPlayer().getName())) { int id = recipeWindows.remove(e.getPlayer().getName()); RPGItem item = ItemManager.getItem(id).orElse(null); if (item == null) return; if (item.getRecipe() == null) { item.setRecipe(new ArrayList<>()); } item.getRecipe().clear(); for (int y = 0; y < 3; y++) { for (int x = 0; x < 3; x++) { int i = x + y * 9; ItemStack it = e.getInventory().getItem(i); item.getRecipe().add(it); } } item.setHasRecipe(true); item.resetRecipe(true); ItemManager.save(); e.getPlayer().sendMessage(ChatColor.AQUA + "Recipe set for " + item.getName()); } }
@EventHandler(ignoreCancelled = true) public void onHelmicRegulatorClose(InventoryCloseEvent event) { Inventory inv = event.getInventory(); if (inv.getTitle().equals("Helmic Regulator")) { Player player = (Player) event.getPlayer(); UUID uuid = player.getUniqueId(); if (plugin.getTrackerKeeper().getRegulating().containsKey(uuid)) { plugin.getServer().getScheduler().cancelTask(plugin.getTrackerKeeper().getRegulating().get(uuid).getTaskId()); plugin.getTrackerKeeper().getRegulating().remove(uuid); TARDISMessage.send(player, "HELMIC_ABORT"); // get and set maximum adjustment from original location Location adjusted = new TARDISFlightAdjustment(plugin).getLocation(plugin.getTrackerKeeper().getFlightData().get(uuid), 10); plugin.getTrackerKeeper().getFlightData().get(uuid).setLocation(adjusted); } } }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onChameleonConstructorClose(InventoryCloseEvent event) { Inventory inv = event.getInventory(); String inv_name = inv.getTitle(); if (inv_name.equals(ChatColor.DARK_RED + "Chameleon Construction")) { Player player = ((Player) event.getPlayer()); if (plugin.getTrackerKeeper().getConstructors().contains(player.getUniqueId())) { // abort // drop any user placed items in the inventory for (int s = 18; s < 54; s++) { if (s != 26 && s != 43 && s != 52) { ItemStack userStack = inv.getItem(s); if (userStack != null) { player.getWorld().dropItemNaturally(player.getLocation(), userStack); } } } } } } }
@EventHandler(ignoreCancelled = true) public void onKeyMenuClose(InventoryCloseEvent event) { Inventory inv = event.getInventory(); String title = inv.getTitle(); if (!title.equals(ChatColor.DARK_RED + "TARDIS Key Prefs Menu")) { return; } ItemStack key = inv.getItem(18); if (key != null) { Player p = (Player) event.getPlayer(); Location loc = p.getLocation(); loc.getWorld().dropItemNaturally(loc, key); inv.setItem(18, new ItemStack(Material.AIR)); } } }
@EventHandler public void inventoryClose(InventoryCloseEvent e){ //check if the inventory is the duel inventory if(e.getInventory().getName().equals(ChatColor.DARK_RED + "[" + ChatColor.DARK_GREEN + "DuelRequest" + ChatColor.DARK_RED + "]"){ //get the player who opened the inventory Player p = (Player) e.getWhoClicked(); //now, check if the selecting HashMap contains the Player above if(selecting.containsKey(p.getUniqueId())){ //get the target of the duel Player target = Bukkit.getPlayer(selecting.get(p.getUniqueId())); //open the kit selector for the target Player above openKitSelector(target); //now, remove the target's, and the sender's UUID from the selecting //HashMap, to make sure that we don't accidentally open the kit //selector for a player who is currently in a duel. selecting.remove(p.getUniqueId()); //make sure the selecting HashMap contains the target's UUID before //attempting to remove it if(selecting.containsKey(target.getUniqueId())){ selecting.remove(target.getUniqueId()); } } } }
@EventHandler(ignoreCancelled = true) public void onLazarusClose(InventoryCloseEvent event) { String name = event.getInventory().getTitle(); UUID uuid = event.getPlayer().getUniqueId(); if (name.equals(ChatColor.DARK_RED + "Genetic Manipulator") && !plugin.getTrackerKeeper().getGeneticManipulation().contains(uuid)) { Block b = plugin.getTrackerKeeper().getLazarus().get(event.getPlayer().getUniqueId()); if (b.getRelative(BlockFace.SOUTH).getType().equals(Material.COBBLESTONE_WALL)) { b.getRelative(BlockFace.SOUTH).setType(Material.AIR); b.getRelative(BlockFace.SOUTH).getRelative(BlockFace.UP).setType(Material.AIR); } untrack(uuid); } }
@EventHandler public void onInventoryClose(InventoryCloseEvent e){ if(!isEnabled(e.getPlayer().getWorld())) return; Inventory inv = e.getInventory(); if(inv == null || inv.getType() != InventoryType.ENCHANTING || !hasPermission(e.getPlayer())) return; ((EnchantingInventory) inv).setSecondary(new ItemStack(Material.AIR)); }
@EventHandler(ignoreCancelled = true) public void inventoryCloseEvent(InventoryCloseEvent event) { if (!views.contains(event.getView())) return; ItemStack[] contents = event.getInventory().getContents(); for (int i = 0; i < contents.length; i++) { this.contents[i] = contents[i]; if (i == 0) { npc.getTrait(Equipment.class).setItemInHand(contents[i]); } } if (npc.getEntity() instanceof InventoryHolder) { try { int maxSize = ((InventoryHolder) npc.getEntity()).getInventory().getStorageContents().length; ((InventoryHolder) npc.getEntity()).getInventory().setStorageContents(Arrays.copyOf(contents, maxSize)); } catch (NoSuchMethodError e) { int maxSize = ((InventoryHolder) npc.getEntity()).getInventory().getContents().length; ((InventoryHolder) npc.getEntity()).getInventory().setContents(Arrays.copyOf(contents, maxSize)); } } views.remove(event.getView()); }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onInventoryClose(InventoryCloseEvent event) { /* WORLD BLACKLIST CHECK */ if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld())) return; Block furnaceBlock = processInventoryOpenOrCloseEvent(event.getInventory()); if (furnaceBlock == null || furnaceBlock.hasMetadata(mcMMO.furnaceMetadataKey)) { return; } HumanEntity player = event.getPlayer(); if (!UserManager.hasPlayerDataKey(player)) { return; } furnaceBlock.removeMetadata(mcMMO.furnaceMetadataKey, plugin); }
@EventHandler(priority = EventPriority.MONITOR) public void on3dGlassesEquip(InventoryCloseEvent event) { Inventory inv = event.getInventory(); if (inv.getType().equals(InventoryType.CRAFTING)) { Player player = (Player) event.getPlayer(); PlayerInventory pi = player.getInventory(); ItemStack is = pi.getHelmet(); if (is != null) { if (is3DGlasses(is)) { if (!plugin.getTrackerKeeper().getSpectacleWearers().contains(player.getUniqueId())) { player.removePotionEffect(PotionEffectType.NIGHT_VISION); player.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 3600, 10)); plugin.getTrackerKeeper().getSpectacleWearers().add(player.getUniqueId()); } } } else { if (plugin.getTrackerKeeper().getSpectacleWearers().contains(player.getUniqueId())) { player.removePotionEffect(PotionEffectType.NIGHT_VISION); plugin.getTrackerKeeper().getSpectacleWearers().remove(player.getUniqueId()); } } } }