Java Code Examples for org.bukkit.inventory.PlayerInventory#getContents()
The following examples show how to use
org.bukkit.inventory.PlayerInventory#getContents() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JavaUtils.java From StaffPlus with GNU General Public License v3.0 | 6 votes |
/** * Gets the slot of the given item through iteration. * * @param player The inventory to iterate through. * @param item The ItemStack to check for. * @return The found slot in the inventory. */ public static int getItemSlot(PlayerInventory inventory, ItemStack item) { int slot = 0; ItemStack[] contents = inventory.getContents(); for(int i = 0; i < contents.length; i++) { ItemStack current = contents[i]; if(current == null) { continue; } if(current.equals(item)) { slot = i; break; } } return slot; }
Example 2
Source File: ClearInventoryAction.java From UHC with MIT License | 6 votes |
@Override protected void run(Player player) { final PlayerInventory inv = player.getInventory(); // clear main inventory contents = inv.getContents(); inv.clear(); // clear armour slots armourContents = inv.getArmorContents(); inv.setArmorContents(null); // clear if they have something on their cursour currently onCursor = player.getItemOnCursor(); player.setItemOnCursor(new ItemStack(Material.AIR)); // if they have a crafting inventory open clear items from it too // stops storing items in crafting slots bypassing clear inventories final InventoryView openInventory = player.getOpenInventory(); if (openInventory.getType() == InventoryType.CRAFTING) { crafting = Optional.of(openInventory.getTopInventory().getContents()); openInventory.getTopInventory().clear(); } else { crafting = Optional.absent(); } }
Example 3
Source File: ScoreMatchModule.java From PGM with GNU Affero General Public License v3.0 | 5 votes |
private double redeemItems(ScoreBox box, PlayerInventory inventory) { ItemStack[] notArmor = inventory.getContents(); ItemStack[] armor = inventory.getArmorContents(); double points = redeemItems(box, notArmor) + redeemItems(box, armor); if (points != 0) { inventory.setContents(notArmor); inventory.setArmorContents(armor); } return points; }
Example 4
Source File: GeneralCommands.java From GlobalWarming with GNU Lesser General Public License v3.0 | 4 votes |
/** * Add an instructional booklet to a player's inventory * - Will prevent duplicates */ public static void getBooklet(GPlayer gPlayer) { Player onlinePlayer = gPlayer.getOnlinePlayer(); if (onlinePlayer != null) { //Prevent duplicates: // - Note that empty inventory slots will be NULL boolean isDuplicate = false; PlayerInventory inventory = onlinePlayer.getInventory(); for (ItemStack item : inventory.getContents()) { if (item != null && item.getType().equals(Material.WRITTEN_BOOK) && item.getItemMeta().getDisplayName().equals(Lang.WIKI_NAME.get())) { gPlayer.sendMsg(Lang.WIKI_ALREADYADDED); isDuplicate = true; break; } } //Add the booklet: if (!isDuplicate) { ItemStack wiki = new ItemStack(Material.WRITTEN_BOOK); final BookMeta meta = (BookMeta) wiki.getItemMeta(); if (meta != null) { meta.setDisplayName(Lang.WIKI_NAME.get()); meta.setAuthor(Lang.WIKI_AUTHOR.get()); meta.setTitle(Lang.WIKI_LORE.get()); meta.setPages( Lang.WIKI_INTRODUCTION.get(), Lang.WIKI_SCORES.get(), Lang.WIKI_EFFECTS.get(), Lang.WIKI_BOUNTY.get(), Lang.WIKI_OTHER.get() ); //Create the book and add to inventory: wiki.setItemMeta(meta); if (onlinePlayer.getInventory().addItem(wiki).isEmpty()) { //Added: gPlayer.sendMsg(Lang.WIKI_ADDED); } else { //Inventory full: gPlayer.sendMsg(Lang.GENERIC_INVENTORYFULL); } } } } }
Example 5
Source File: PlayerStateHolder.java From HeavySpleef with GNU General Public License v3.0 | 4 votes |
public void apply(Player player, boolean teleport) { PlayerInventory playerInv = player.getInventory(); boolean is1_9 = MinecraftVersion.getImplementationVersion().compareTo(MinecraftVersion.V1_9) >= 0; boolean isSimpleSize = playerInv.getContents().length <= SIMPLE_INVENTORY_SIZE; ItemStack[] inventoryContents = new ItemStack[is1_9 && !isSimpleSize ? playerInv.getSize() : SIMPLE_INVENTORY_SIZE]; System.arraycopy(inventory, 0, inventoryContents, 0, inventoryContents.length); if (!is1_9 || isSimpleSize) { ItemStack[] armorContents = new ItemStack[ARMOR_INVENTORY_SIZE]; System.arraycopy(inventory, inventory.length - ARMOR_INVENTORY_SIZE, armorContents, 0, armorContents.length); playerInv.setArmorContents(armorContents); } playerInv.setContents(inventoryContents); player.setItemOnCursor(null); Map<Integer, ItemStack> exceeded = playerInv.addItem(onCursor); for (ItemStack stack : exceeded.values()) { if (stack.getType() == Material.AIR) { continue; } player.getWorld().dropItem(player.getLocation(), stack); } player.updateInventory(); player.setMaxHealth(maxHealth); player.setHealth(health); player.setFoodLevel(foodLevel); player.setLevel(level); player.setExp(experience); player.setAllowFlight(allowFlight); player.setFlying(isFlying); /* Remove current potion effects */ Collection<PotionEffect> effects = player.getActivePotionEffects(); for (PotionEffect effect : effects) { player.removePotionEffect(effect.getType()); } player.addPotionEffects(activeEffects); player.setExhaustion(exhaustion); player.setSaturation(saturation); player.setFallDistance(fallDistance); player.setFireTicks(fireTicks); if (scoreboard != player.getScoreboard()) { Scoreboard showBoard = scoreboard; if (scoreboard == null) { showBoard = Bukkit.getScoreboardManager().getMainScoreboard(); } player.setScoreboard(showBoard); } if (teleport) { player.teleport(location); } Location compassTarget = this.compassTarget; if (compassTarget == null) { compassTarget = player.getWorld().getSpawnLocation(); } player.setCompassTarget(compassTarget); for (WeakReference<Player> ref : cantSee) { Player cantSeePlayer = ref.get(); if (cantSeePlayer == null) { // Player object has been garbage-collected continue; } if (!cantSeePlayer.isOnline()) { continue; } player.hidePlayer(cantSeePlayer); } player.setGameMode(gamemode); }
Example 6
Source File: PlayerStateHolder.java From HeavySpleef with GNU General Public License v3.0 | 4 votes |
public void updateState(Player player, boolean location, GameMode mode) { PlayerInventory inventory = player.getInventory(); boolean is1_9 = MinecraftVersion.getImplementationVersion().compareTo(MinecraftVersion.V1_9) >= 0; boolean isSimpleSize = inventory.getContents().length <= SIMPLE_INVENTORY_SIZE; ItemStack[] contents = inventory.getContents(); ItemStack[] inventoryArray = new ItemStack[is1_9 && !isSimpleSize ? inventory.getSize() : INVENTORY_SIZE]; if (!is1_9 || isSimpleSize) { ItemStack[] armor = inventory.getArmorContents(); System.arraycopy(contents, 0, inventoryArray, 0, contents.length); System.arraycopy(armor, 0, inventoryArray, inventoryArray.length - ARMOR_INVENTORY_SIZE, armor.length); } else { System.arraycopy(contents, 0, inventoryArray, 0, contents.length); } /* Initialize the state with the current player state */ setInventory(inventoryArray); setOnCursor(player.getItemOnCursor()); setGamemode(mode != null ? mode : player.getGameMode()); setMaxHealth(player.getMaxHealth()); setHealth(player.getHealth(), player.getMaxHealth()); setFoodLevel(player.getFoodLevel()); setLevel(player.getLevel()); setExperience(player.getExp()); setAllowFlight(player.getAllowFlight()); setFlying(player.isFlying()); setActiveEffects(player.getActivePotionEffects()); setExhaustion(player.getExhaustion()); setSaturation(player.getSaturation()); setFallDistance(player.getFallDistance()); setFireTicks(player.getFireTicks()); if (location) { setLocation(player.getLocation()); } setScoreboard(player.getScoreboard()); setCompassTarget(player.getCompassTarget()); List<WeakReference<Player>> cantSee = Lists.newArrayList(); for (Player onlinePlayer : Bukkit.getOnlinePlayers()) { if (player.canSee(onlinePlayer)) { continue; } WeakReference<Player> ref = new WeakReference<Player>(onlinePlayer); cantSee.add(ref); } setCantSee(cantSee); }