public class InventoryComponent<T extends IComponentHarness> extends net.minecraftforge.items.ItemStackHandler implements IScreenAddonProvider, IContainerAddonProvider
| Constructor and Description |
|---|
InventoryComponent(java.lang.String name,
int xPos,
int yPos,
int size) |
| Modifier and Type | Method and Description |
|---|---|
net.minecraft.item.ItemStack |
extractItem(int slot,
int amount,
boolean simulate) |
java.awt.Color |
getColorForSlotRendering(int slot) |
T |
getComponentHarness() |
java.util.List<IFactory<? extends IContainerAddon>> |
getContainerAddons() |
java.util.function.BiPredicate<net.minecraft.item.ItemStack,java.lang.Integer> |
getExtractPredicate() |
java.util.function.BiPredicate<net.minecraft.item.ItemStack,java.lang.Integer> |
getInsertPredicate() |
net.minecraft.item.ItemStack |
getItemStackForSlotRendering(int slot) |
java.lang.String |
getName() |
java.util.function.BiConsumer<net.minecraft.item.ItemStack,java.lang.Integer> |
getOnSlotChanged() |
java.util.List<IFactory<? extends IScreenAddon>> |
getScreenAddons() |
int |
getSlotLimit(int slot) |
java.util.function.Function<java.lang.Integer,org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> |
getSlotPosition() |
java.util.Map<java.lang.Integer,java.awt.Color> |
getSlotToColorRenderMap() |
java.util.function.Predicate<java.lang.Integer> |
getSlotVisiblePredicate()
Gets the predicate to check if a slot is enabled
|
int |
getXPos() |
int |
getXSize() |
int |
getYPos() |
int |
getYSize() |
net.minecraft.item.ItemStack |
insertItem(int slot,
net.minecraft.item.ItemStack stack,
boolean simulate) |
boolean |
isColorGuiEnabled() |
boolean |
isItemValid(int slot,
net.minecraft.item.ItemStack stack) |
protected void |
onContentsChanged(int slot) |
InventoryComponent<T> |
setColorGuiEnabled(boolean colorGuiEnabled) |
InventoryComponent<T> |
setComponentHarness(T componentHarness)
Sets the tile where the inventory is to allow markForUpdate automatically
|
InventoryComponent<T> |
setInputFilter(java.util.function.BiPredicate<net.minecraft.item.ItemStack,java.lang.Integer> predicate)
Sets the predicate input filter to filter what items go into which slot.
|
InventoryComponent<T> |
setOnSlotChanged(java.util.function.BiConsumer<net.minecraft.item.ItemStack,java.lang.Integer> onSlotChanged)
Sets the predicate slot changed that gets triggered when a slot is changed.
|
InventoryComponent<T> |
setOutputFilter(java.util.function.BiPredicate<net.minecraft.item.ItemStack,java.lang.Integer> predicate)
Sets the predicate output filter to filter what can be extracted from which slot.
|
InventoryComponent<T> |
setRange(int x,
int y)
Defines how many slots/row and slots/column
|
InventoryComponent<T> |
setSlotLimit(int limit)
Sets the default limit for all the slots
|
InventoryComponent<T> |
setSlotLimit(int slot,
int limit)
Sets the limit amount for a specific slot, this limit has priority instead of the slot limit for all the slots
|
InventoryComponent<T> |
setSlotPosition(java.util.function.Function<java.lang.Integer,org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> slotPosition) |
InventoryComponent<T> |
setSlotToColorRender(int slot,
java.awt.Color color) |
InventoryComponent<T> |
setSlotToColorRender(int slot,
net.minecraft.item.DyeColor color) |
InventoryComponent<T> |
setSlotToColorRender(int slot,
int color) |
InventoryComponent<T> |
setSlotToItemStackRender(int slot,
net.minecraft.item.ItemStack stack) |
InventoryComponent<T> |
setSlotVisiblePredicate(java.util.function.Predicate<java.lang.Integer> slotVisiblePredicate)
Sets the slot enabled predicate that allows to disable/enable slots
|
void |
setXPos(int xPos) |
void |
setYPos(int yPos) |
deserializeNBT, getSlots, getStackInSlot, getStackLimit, onLoad, serializeNBT, setSize, setStackInSlot, validateSlotIndexclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcanInteractpublic InventoryComponent(java.lang.String name,
int xPos,
int yPos,
int size)
public InventoryComponent<T> setRange(int x, int y)
x - How many slots there are horizontallyy - How many slots there are verticallypublic InventoryComponent<T> setComponentHarness(T componentHarness)
componentHarness - the object which owns this componentpublic InventoryComponent<T> setInputFilter(java.util.function.BiPredicate<net.minecraft.item.ItemStack,java.lang.Integer> predicate)
predicate - A bi predicate where the itemstack is the item trying to be inserted and the slot where is trying to be inserted topublic InventoryComponent<T> setOutputFilter(java.util.function.BiPredicate<net.minecraft.item.ItemStack,java.lang.Integer> predicate)
predicate - A bi predicate where the itemstack is the item trying to be extracted and the slot where is trying to be extracted@Nonnull
public net.minecraft.item.ItemStack insertItem(int slot,
@Nonnull
net.minecraft.item.ItemStack stack,
boolean simulate)
insertItem in interface net.minecraftforge.items.IItemHandlerinsertItem in class net.minecraftforge.items.ItemStackHandler@Nonnull
public net.minecraft.item.ItemStack extractItem(int slot,
int amount,
boolean simulate)
extractItem in interface net.minecraftforge.items.IItemHandlerextractItem in class net.minecraftforge.items.ItemStackHandlerprotected void onContentsChanged(int slot)
onContentsChanged in class net.minecraftforge.items.ItemStackHandlerpublic java.lang.String getName()
public int getXPos()
public void setXPos(int xPos)
public int getYPos()
public void setYPos(int yPos)
public int getXSize()
public int getYSize()
public T getComponentHarness()
public java.util.function.BiPredicate<net.minecraft.item.ItemStack,java.lang.Integer> getInsertPredicate()
public java.util.function.BiPredicate<net.minecraft.item.ItemStack,java.lang.Integer> getExtractPredicate()
public java.util.function.BiConsumer<net.minecraft.item.ItemStack,java.lang.Integer> getOnSlotChanged()
public InventoryComponent<T> setColorGuiEnabled(boolean colorGuiEnabled)
public boolean isColorGuiEnabled()
public java.util.Map<java.lang.Integer,java.awt.Color> getSlotToColorRenderMap()
public InventoryComponent<T> setOnSlotChanged(java.util.function.BiConsumer<net.minecraft.item.ItemStack,java.lang.Integer> onSlotChanged)
onSlotChanged - A bi predicate where the itemstack and slot changedpublic InventoryComponent<T> setSlotLimit(int slot, int limit)
slot - The slot to set the limit tolimit - The limit for the slotpublic InventoryComponent<T> setSlotToItemStackRender(int slot, net.minecraft.item.ItemStack stack)
slot - The slot to render the stack instack - The Itemstack to render in the slotpublic InventoryComponent<T> setSlotToColorRender(int slot, int color)
slot - Slot which color should be set.color - The color of the slotpublic InventoryComponent<T> setSlotToColorRender(int slot, net.minecraft.item.DyeColor color)
slot - Slot which color should be set.color - The color of the slotpublic InventoryComponent<T> setSlotToColorRender(int slot, java.awt.Color color)
slot - Slot which color should be set.color - The color of the slotpublic net.minecraft.item.ItemStack getItemStackForSlotRendering(int slot)
slot - Slot to get the Render Stack forpublic java.awt.Color getColorForSlotRendering(int slot)
slot - Slot to get the Render Color forpublic InventoryComponent<T> setSlotLimit(int limit)
limit - The default limit for all the slot that don't have specific limitpublic java.util.function.Predicate<java.lang.Integer> getSlotVisiblePredicate()
public InventoryComponent<T> setSlotVisiblePredicate(java.util.function.Predicate<java.lang.Integer> slotVisiblePredicate)
slotVisiblePredicate - a int predicate that checks slot idpublic int getSlotLimit(int slot)
getSlotLimit in interface net.minecraftforge.items.IItemHandlergetSlotLimit in class net.minecraftforge.items.ItemStackHandlerpublic java.util.function.Function<java.lang.Integer,org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> getSlotPosition()
public InventoryComponent<T> setSlotPosition(java.util.function.Function<java.lang.Integer,org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> slotPosition)
public boolean isItemValid(int slot,
@Nonnull
net.minecraft.item.ItemStack stack)
isItemValid in interface net.minecraftforge.items.IItemHandlerisItemValid in class net.minecraftforge.items.ItemStackHandlerpublic java.util.List<IFactory<? extends IScreenAddon>> getScreenAddons()
getScreenAddons in interface IScreenAddonProviderpublic java.util.List<IFactory<? extends IContainerAddon>> getContainerAddons()
getContainerAddons in interface IContainerAddonProvider