public class ItemStackHandler extends java.lang.Object implements IItemHandler, IItemHandlerModifiable, INBTSerializable<NBTTagCompound>
| Modifier and Type | Field and Description |
|---|---|
protected NonNullList<ItemStack> |
stacks |
| Constructor and Description |
|---|
ItemStackHandler() |
ItemStackHandler(int size) |
ItemStackHandler(NonNullList<ItemStack> stacks) |
| Modifier and Type | Method and Description |
|---|---|
void |
deserializeNBT(NBTTagCompound nbt) |
ItemStack |
extractItem(int slot,
int amount,
boolean simulate)
Extracts an ItemStack from the given slot.
|
int |
getSlotLimit(int slot)
Retrieves the maximum stack size allowed to exist in the given slot.
|
int |
getSlots()
Returns the number of slots available
|
ItemStack |
getStackInSlot(int slot)
Returns the ItemStack in a given slot.
|
protected int |
getStackLimit(int slot,
ItemStack stack) |
ItemStack |
insertItem(int slot,
ItemStack stack,
boolean simulate)
Inserts an ItemStack into the given slot and return the remainder.
|
protected void |
onContentsChanged(int slot) |
protected void |
onLoad() |
NBTTagCompound |
serializeNBT() |
void |
setSize(int size) |
void |
setStackInSlot(int slot,
ItemStack stack)
Overrides the stack in the given slot.
|
protected void |
validateSlotIndex(int slot) |
protected NonNullList<ItemStack> stacks
public ItemStackHandler()
public ItemStackHandler(int size)
public ItemStackHandler(NonNullList<ItemStack> stacks)
public void setSize(int size)
public void setStackInSlot(int slot,
ItemStack stack)
IItemHandlerModifiablesetStackInSlot in interface IItemHandlerModifiableslot - Slot to modifystack - ItemStack to set slot to (may be null)public int getSlots()
IItemHandlergetSlots in interface IItemHandlerpublic ItemStack getStackInSlot(int slot)
IItemHandlergetStackInSlot in interface IItemHandlerslot - Slot to querypublic ItemStack insertItem(int slot, ItemStack stack, boolean simulate)
IItemHandlerinsertItem in interface IItemHandlerslot - Slot to insert into.stack - ItemStack to insert.simulate - If true, the insertion is only simulatedpublic ItemStack extractItem(int slot, int amount, boolean simulate)
IItemHandlerextractItem in interface IItemHandlerslot - Slot to extract from.amount - Amount to extract (may be greater than the current stacks max limit)simulate - If true, the extraction is only simulatedpublic int getSlotLimit(int slot)
IItemHandlergetSlotLimit in interface IItemHandlerslot - Slot to query.protected int getStackLimit(int slot,
ItemStack stack)
public NBTTagCompound serializeNBT()
serializeNBT in interface INBTSerializable<NBTTagCompound>public void deserializeNBT(NBTTagCompound nbt)
deserializeNBT in interface INBTSerializable<NBTTagCompound>protected void validateSlotIndex(int slot)
protected void onLoad()
protected void onContentsChanged(int slot)