private void removeSonicEnchant(PlayerInventory inv) { int first = inv.first(sonic); if (first < 0) { return; } ItemStack stack = inv.getItem(first); if (stack.containsEnchantment(Enchantment.DURABILITY)) { stack.getEnchantments().keySet().forEach(stack::removeEnchantment); } }
@Override public void run() { com.elmakers.mine.bukkit.api.wand.Wand wand = mage.getActiveWand(); if (wand != null) { wand.deactivate(); } heldItem = inventory.getItem(heldItemSlot); inventory.setItem(heldItemSlot, null); } }, 1);
@Override public void run() { Wand activeWand = mage.getActiveWand(); if (activeWand != null && activeWand.isInventoryOpen()) return; Player player = mage.getPlayer(); if (player == null) return; PlayerInventory inventory = player.getInventory(); ItemStack targetItem = inventory.getItem(targetSlot); ItemStack swapItem = inventory.getItem(originalSlot); inventory.setItem(originalSlot, targetItem); inventory.setItem(targetSlot, swapItem); mage.checkWand(); } }
private static void takeItem(Player player, double amount, Material type) { int removed = 0; HashMap<Integer, ItemStack> items = (HashMap<Integer, ItemStack>) player.getInventory().all(type); for (int i : items.keySet()) { if (removed >= amount) { break; } int diff = (int) (amount - removed); int amt = player.getInventory().getItem(i).getAmount(); if (amt - diff > 0) { player.getInventory().getItem(i).setAmount(amt - diff); break; } else { removed += amt; player.getInventory().clear(i); } } showReceipt(player, amount, type); }
@Override public void run() { if (!p.isOnline()) return; PlayerInventory in = p.getInventory(); for (int i = 0; i < in.getSize(); i++) { ItemStack item = in.getItem(i); ItemManager.toRPGItem(item).ifPresent(rpgItem -> rpgItem.updateItem(item)); } for (ItemStack item : in.getArmorContents()) { ItemManager.toRPGItem(item).ifPresent(rpgItem -> rpgItem.updateItem(item)); } } }.runTaskLater(plugin, 1L);
@EventHandler public void onPlayerInv(PlayerItemHeldEvent event) { ItemStack item = event.getPlayer().getInventory().getItem(event.getNewSlot()); initMap(item); }
@Override public boolean check(String playerID) throws QuestRuntimeException { Player p = PlayerConverter.getPlayer(playerID); int remaining = count; for (int i = 0; i < p.getInventory().getSize(); i++) { ItemStack item = p.getInventory().getItem(i); if (item != null && Brew.get(item) != null && Brew.get(item).getCurrentRecipe().equals(brew)) { remaining -= item.getAmount(); if(remaining <= 0){ return true; } } } return false; } }
public void action(Player p){ PlayerInventory i = p.getInventory(); for(int slot = 0; slot < 36 /*Size of inventory */; slot++){ ItemStack item = i.getItem(slot); if (item == null || item.getType() == Material.AIR) { //Do nothing. continue; } Map<String, Object> itemS = item.serialize(); if(Main.invs.get(p.getName() + ".inventory.slot." + slot) == null){ Main.invs.createSection(p.getName()+ ".inventory.slot." + slot); } Main.invs.set(p.getName() + ".inventory.slot." + slot, itemS); } }
@EventHandler(priority = EventPriority.MONITOR) public void onItemHeldChange(final PlayerItemHeldEvent event) { final Player player = event.getPlayer(); final IPlayerData pData = DataManager.getPlayerData(player); final InventoryData data = pData.getGenericInstance(InventoryData.class); if (pData.isDebugActive(checkType) && data.instantEatFood != null) { debug(player, "PlayerItemHeldEvent, reset fastconsume (legacy: instanteat)."); } data.instantBowInteract = 0; data.instantEatInteract = 0; data.instantEatFood = null; // Illegal enchantments hotfix check. final PlayerInventory inv = player.getInventory(); Items.checkIllegalEnchantments(player, inv.getItem(event.getNewSlot()), pData); Items.checkIllegalEnchantments(player, inv.getItem(event.getPreviousSlot()), pData); }
private void applySkin(Player player, SkinModel skinData) { Bukkit.getScheduler().runTask(plugin, () -> { setSkullSkin(player.getInventory().getItem(player.getInventory().getHeldItemSlot()), skinData); player.updateInventory(); }); }
@EventHandler public void onPlayerJoin(PlayerJoinEvent e) { Player player = e.getPlayer(); PlayerInventory in = player.getInventory(); for (int i = 0; i < in.getSize(); i++) { ItemStack item = in.getItem(i); ItemManager.toRPGItem(item).ifPresent(rpgItem -> rpgItem.updateItem(item)); } for (ItemStack item : player.getInventory().getArmorContents()) { ItemManager.toRPGItem(item).ifPresent(rpgItem -> rpgItem.updateItem(item)); } if (WGSupport.hasSupport() && WGSupport.useWorldGuard) { WGHandler.onPlayerJoin(e); } }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onInventoryClickEvent(InventoryClickEvent event) { SkillUtils.removeAbilityBuff(event.getCurrentItem()); if (event.getAction() == InventoryAction.HOTBAR_SWAP) { SkillUtils.removeAbilityBuff(event.getWhoClicked().getInventory().getItem(event.getHotbarButton())); } }
@EventHandler(ignoreCancelled = false, priority = EventPriority.MONITOR) public void onItemHeld(final PlayerItemHeldEvent event) { // Reset clicked block. // TODO: Not for 1.5.2 and before? final Player player = event.getPlayer(); final BlockBreakData data = DataManager.getPlayerData(player).getGenericInstance(BlockBreakData.class); if (data.toolChanged(player.getInventory().getItem(event.getNewSlot()))) { data.resetClickedBlock(); } }
public static boolean hasWaterBottle(final Player player) { if (hasAbility(player, WaterReturn.class) || isBending(player)) { return false; } final PlayerInventory inventory = player.getInventory(); if (inventory.contains(Material.POTION)) { final ItemStack item = inventory.getItem(inventory.first(Material.POTION)); final PotionMeta meta = (PotionMeta) item.getItemMeta(); return meta.getBasePotionData().getType() == PotionType.WATER; } return false; }
private void fillBottle() { final PlayerInventory inventory = this.player.getInventory(); if (inventory.contains(Material.GLASS_BOTTLE)) { final int index = inventory.first(Material.GLASS_BOTTLE); final ItemStack item = inventory.getItem(index); if (item.getAmount() == 1) { inventory.setItem(index, new ItemStack(Material.POTION)); } else { item.setAmount(item.getAmount() - 1); inventory.setItem(index, item); final HashMap<Integer, ItemStack> leftover = inventory.addItem(new ItemStack(Material.POTION)); for (final int left : leftover.keySet()) { this.player.getWorld().dropItemNaturally(this.player.getLocation(), leftover.get(left)); } } } }
@EventHandler(ignoreCancelled = true) public void onItemHeldChange(PlayerItemHeldEvent event) { Player player = event.getPlayer(); //if he's switching to the golden shovel int newSlot = event.getNewSlot(); ItemStack newItemStack = player.getInventory().getItem(newSlot); if(newItemStack != null && newItemStack.getType() == GriefPrevention.instance.config_claims_modificationTool) { //give the player his available claim blocks count and claiming instructions, but only if he keeps the shovel equipped for a minimum time, to avoid mouse wheel spam if(GriefPrevention.instance.claimsEnabledForWorld(player.getWorld())) { EquipShovelProcessingTask task = new EquipShovelProcessingTask(player); GriefPrevention.instance.getServer().getScheduler().scheduleSyncDelayedTask(GriefPrevention.instance, task, 15L); //15L is approx. 3/4 of a second } } }
private void spawnOcelotPets(Player player, Arena arena) { if (ocelotMaterial == null) { return; } PlayerInventory inv = player.getInventory(); int index = inv.first(ocelotMaterial); if (index == -1) { return; } int amount = inv.getItem(index).getAmount(); for (int i = 0; i < amount; i++) { Ocelot ocelot = (Ocelot) arena.getWorld().spawnEntity(player.getLocation(), EntityType.OCELOT); ocelot.setTamed(true); ocelot.setOwner(player); arena.getMonsterManager().addPet(ocelot); } inv.setItem(index, null); }
private void spawnWolfPets(Player player, Arena arena) { if (wolfMaterial == null) { return; } PlayerInventory inv = player.getInventory(); int index = inv.first(wolfMaterial); if (index == -1) { return; } int amount = inv.getItem(index).getAmount(); for (int i = 0; i < amount; i++) { Wolf wolf = (Wolf) arena.getWorld().spawnEntity(player.getLocation(), EntityType.WOLF); wolf.setTamed(true); wolf.setOwner(player); arena.getMonsterManager().addPet(wolf); } inv.setItem(index, null); }
@EventHandler(priority = EventPriority.HIGH) public void onItemHeldChange(PlayerItemHeldEvent event) { Player player = event.getPlayer(); ConfigurationManager cfg = WorldGuard.getInstance().getPlatform().getGlobalStateManager(); WorldConfiguration wcfg = cfg.get(BukkitAdapter.adapt(player.getWorld())); if (wcfg.removeInfiniteStacks && !plugin.hasPermission(player, "worldguard.override.infinite-stack")) { int newSlot = event.getNewSlot(); ItemStack heldItem = player.getInventory().getItem(newSlot); if (heldItem != null && heldItem.getAmount() < 0) { player.getInventory().setItem(newSlot, null); player.sendMessage(ChatColor.RED + "Infinite stack removed."); } } }
private void processHarvest(Player p, Material m, Block b) { int slot = p.getInventory().first(m); if (slot >= 0) { ItemStack next = p.getInventory().getItem(slot); if (next.getAmount() > 1) { next.setAmount(next.getAmount() - 1); p.getInventory().setItem(slot, next); } else { p.getInventory().setItem(slot, new ItemStack(air)); } Runnable tsr = new TARDISSonicReplant(plugin, b, m); plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, tsr, 20); } } }