java.lang.Iterable<ItemStack>
AbstractHorseInventory
, AnvilInventory
, BeaconInventory
, BrewerInventory
, CraftingInventory
, DoubleChestInventory
, EnchantingInventory
, FurnaceInventory
, HorseInventory
, LlamaInventory
, MerchantInventory
, PlayerInventory
public interface Inventory extends java.lang.Iterable<ItemStack>
Material.AIR
is unspecified.Modifier and Type | Method | Description |
---|---|---|
java.util.HashMap<java.lang.Integer,ItemStack> |
addItem(ItemStack... items) |
Stores the given ItemStacks in the inventory.
|
java.util.HashMap<java.lang.Integer,? extends ItemStack> |
all(ItemStack item) |
Finds all slots in the inventory containing any ItemStacks with the
given ItemStack.
|
java.util.HashMap<java.lang.Integer,? extends ItemStack> |
all(Material material) |
Returns a HashMap with all slots and ItemStacks in the inventory with
the given Material.
|
void |
clear() |
Clears out the whole Inventory.
|
void |
clear(int index) |
Clears out a particular slot in the index.
|
boolean |
contains(ItemStack item) |
Checks if the inventory contains any ItemStacks matching the given
ItemStack.
|
boolean |
contains(ItemStack item,
int amount) |
Checks if the inventory contains at least the minimum amount specified
of exactly matching ItemStacks.
|
boolean |
contains(Material material) |
Checks if the inventory contains any ItemStacks with the given
material.
|
boolean |
contains(Material material,
int amount) |
Checks if the inventory contains any ItemStacks with the given
material, adding to at least the minimum amount specified.
|
boolean |
containsAtLeast(ItemStack item,
int amount) |
Checks if the inventory contains ItemStacks matching the given
ItemStack whose amounts sum to at least the minimum amount specified.
|
int |
first(ItemStack item) |
Returns the first slot in the inventory containing an ItemStack with
the given stack.
|
int |
first(Material material) |
Finds the first slot in the inventory containing an ItemStack with the
given material
|
int |
firstEmpty() |
Returns the first empty Slot.
|
ItemStack[] |
getContents() |
Returns all ItemStacks from the inventory
|
InventoryHolder |
getHolder() |
Gets the block or entity belonging to the open inventory
|
ItemStack |
getItem(int index) |
Returns the ItemStack found in the slot at the given index
|
Location |
getLocation() |
Get the location of the block or entity which corresponds to this inventory.
|
int |
getMaxStackSize() |
Returns the maximum stack size for an ItemStack in this inventory.
|
java.lang.String |
getName() |
Returns the name of the inventory
|
int |
getSize() |
Returns the size of the inventory
|
ItemStack[] |
getStorageContents() |
Return the contents from the section of the inventory where items can
reasonably be expected to be stored.
|
java.lang.String |
getTitle() |
Returns the title of this inventory.
|
InventoryType |
getType() |
Returns what type of inventory this is.
|
java.util.List<HumanEntity> |
getViewers() |
Gets a list of players viewing the inventory.
|
java.util.ListIterator<ItemStack> |
iterator() |
|
java.util.ListIterator<ItemStack> |
iterator(int index) |
Returns an iterator starting at the given index.
|
void |
remove(ItemStack item) |
Removes all stacks in the inventory matching the given stack.
|
void |
remove(Material material) |
Removes all stacks in the inventory matching the given material.
|
java.util.HashMap<java.lang.Integer,ItemStack> |
removeItem(ItemStack... items) |
Removes the given ItemStacks from the inventory.
|
void |
setContents(ItemStack[] items) |
Completely replaces the inventory's contents.
|
void |
setItem(int index,
ItemStack item) |
Stores the ItemStack at the given index of the inventory.
|
void |
setMaxStackSize(int size) |
This method allows you to change the maximum stack size for an
inventory.
|
void |
setStorageContents(ItemStack[] items) |
Put the given ItemStacks into the storage slots
|
int getSize()
int getMaxStackSize()
void setMaxStackSize(int size)
Caveats:
size
- The new maximum stack size for items in this inventory.java.lang.String getName()
ItemStack getItem(int index)
index
- The index of the Slot's ItemStack to returnvoid setItem(int index, ItemStack item)
index
- The index where to put the ItemStackitem
- The ItemStack to setjava.util.HashMap<java.lang.Integer,ItemStack> addItem(ItemStack... items) throws java.lang.IllegalArgumentException
The returned HashMap contains what it couldn't store, where the key is the index of the parameter, and the value is the ItemStack at that index of the varargs parameter. If all items are stored, it will return an empty HashMap.
If you pass in ItemStacks which exceed the maximum stack size for the Material, first they will be added to partial stacks where Material.getMaxStackSize() is not exceeded, up to Material.getMaxStackSize(). When there are no partial stacks left stacks will be split on Inventory.getMaxStackSize() allowing you to exceed the maximum stack size for that material.
It is known that in some implementations this method will also set the inputted argument amount to the number of that item not placed in slots.
items
- The ItemStacks to addjava.lang.IllegalArgumentException
- if items or any element in it is nulljava.util.HashMap<java.lang.Integer,ItemStack> removeItem(ItemStack... items) throws java.lang.IllegalArgumentException
It will try to remove 'as much as possible' from the types and amounts you give as arguments.
The returned HashMap contains what it couldn't remove, where the key is the index of the parameter, and the value is the ItemStack at that index of the varargs parameter. If all the given ItemStacks are removed, it will return an empty HashMap.
It is known that in some implementations this method will also set the inputted argument amount to the number of that item not removed from slots.
items
- The ItemStacks to removejava.lang.IllegalArgumentException
- if items is nullItemStack[] getContents()
void setContents(ItemStack[] items) throws java.lang.IllegalArgumentException
items
- A complete replacement for the contents; the length must
be less than or equal to getSize()
.java.lang.IllegalArgumentException
- If the array has more items than the
inventory.ItemStack[] getStorageContents()
void setStorageContents(ItemStack[] items) throws java.lang.IllegalArgumentException
items
- The ItemStacks to use as storage contentsjava.lang.IllegalArgumentException
- If the array has more items than the
inventory.boolean contains(Material material) throws java.lang.IllegalArgumentException
material
- The material to check forjava.lang.IllegalArgumentException
- if material is nullboolean contains(ItemStack item)
This will only return true if both the type and the amount of the stack match.
item
- The ItemStack to match againstboolean contains(Material material, int amount) throws java.lang.IllegalArgumentException
material
- The material to check foramount
- The minimum amountjava.lang.IllegalArgumentException
- if material is nullboolean contains(ItemStack item, int amount)
An ItemStack only counts if both the type and the amount of the stack match.
item
- the ItemStack to match againstamount
- how many identical stacks to check forcontainsAtLeast(ItemStack, int)
boolean containsAtLeast(ItemStack item, int amount)
item
- the ItemStack to match againstamount
- the minimum amountjava.util.HashMap<java.lang.Integer,? extends ItemStack> all(Material material) throws java.lang.IllegalArgumentException
The HashMap contains entries where, the key is the slot index, and the value is the ItemStack in that slot. If no matching ItemStack with the given Material is found, an empty map is returned.
material
- The material to look forjava.lang.IllegalArgumentException
- if material is nulljava.util.HashMap<java.lang.Integer,? extends ItemStack> all(ItemStack item)
The HashMap contains entries where, the key is the slot index, and the value is the ItemStack in that slot. If no matching ItemStack with the given Material is found, an empty map is returned.
item
- The ItemStack to match againstint first(Material material) throws java.lang.IllegalArgumentException
material
- The material to look forjava.lang.IllegalArgumentException
- if material is nullint first(ItemStack item)
item
- The ItemStack to match againstint firstEmpty()
void remove(Material material) throws java.lang.IllegalArgumentException
material
- The material to removejava.lang.IllegalArgumentException
- if material is nullvoid remove(ItemStack item)
This will only match a slot if both the type and the amount of the stack match
item
- The ItemStack to match againstvoid clear(int index)
index
- The index to empty.void clear()
java.util.List<HumanEntity> getViewers()
java.lang.String getTitle()
InventoryType getType()
InventoryHolder getHolder()
java.util.ListIterator<ItemStack> iterator()
iterator
in interface java.lang.Iterable<ItemStack>
java.util.ListIterator<ItemStack> iterator(int index)
index
- The index.Location getLocation()
Copyright © 2018. All rights reserved.