Class FixedInventoryViewVanillaWrapper
java.lang.Object
alexiil.mc.lib.attributes.item.compat.FixedInventoryViewVanillaWrapper
- All Implemented Interfaces:
Convertible
,AbstractItemInvView
,FixedItemInvView
,OpenWrapper
- Direct Known Subclasses:
FixedInventoryVanillaWrapper
public class FixedInventoryViewVanillaWrapper extends java.lang.Object implements FixedItemInvView, OpenWrapper
An
FixedItemInv
that wraps a vanilla Inventory
.-
Nested Class Summary
Nested classes/interfaces inherited from interface alexiil.mc.lib.attributes.item.AbstractItemInvView
AbstractItemInvView.DefaultChangeTracker
-
Field Summary
Fields Modifier and Type Field Description protected net.minecraft.inventory.Inventory
inv
-
Constructor Summary
Constructors Constructor Description FixedInventoryViewVanillaWrapper(net.minecraft.inventory.Inventory inv)
-
Method Summary
Modifier and Type Method Description net.minecraft.item.ItemStack
getInvStack(int slot)
int
getMaxAmount(int slot, net.minecraft.item.ItemStack stack)
int
getSlotCount()
java.lang.Object
getWrapped()
boolean
isItemValidForSlot(int slot, net.minecraft.item.ItemStack item)
Checks to see if the given stack would be valid for this slot, ignoring the current contents.static FixedInventoryViewVanillaWrapper
wrapInventory(net.minecraft.inventory.Inventory inv)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface alexiil.mc.lib.attributes.item.AbstractItemInvView
addListener, getChangeValue
Methods inherited from interface alexiil.mc.lib.attributes.item.FixedItemInvView
convertTo, getFilterForSlot, getFixedView, getGroupedInv, getMappedInv, getSlot, getSubInv, offerSelfAsAttribute, slotIterable, stackIterable
-
Field Details
-
inv
protected final net.minecraft.inventory.Inventory inv
-
-
Constructor Details
-
FixedInventoryViewVanillaWrapper
public FixedInventoryViewVanillaWrapper(net.minecraft.inventory.Inventory inv)
-
-
Method Details
-
wrapInventory
public static FixedInventoryViewVanillaWrapper wrapInventory(net.minecraft.inventory.Inventory inv) -
getSlotCount
public int getSlotCount()- Specified by:
getSlotCount
in interfaceFixedItemInvView
- Returns:
- The number of slots in this inventory.
-
getInvStack
public net.minecraft.item.ItemStack getInvStack(int slot)- Specified by:
getInvStack
in interfaceFixedItemInvView
- Parameters:
slot
- The slot index. Must be a value between 0 (inclusive) andFixedItemInvView.getSlotCount()
(exclusive) to be valid. (Like in arrays, lists, etc).- Returns:
- The ItemStack that is held in the inventory at the moment. It is unspecified whether you are allowed to
modify this returned
ItemStack
- however subinterfaces (likeFixedItemInv
) may have different limitations on this. Note that this stack might not be valid for this slot in eitherFixedItemInvView.isItemValidForSlot(int, ItemStack)
orFixedItemInvView.getFilterForSlot(int)
.
-
isItemValidForSlot
public boolean isItemValidForSlot(int slot, net.minecraft.item.ItemStack item)Description copied from interface:FixedItemInvView
Checks to see if the given stack would be valid for this slot, ignoring the current contents. Note that this method should adhere to the requirements ofItemFilter.matches(ItemStack)
, so this must not care about theItemStack.getCount()
. Passingempty
stacks will generally not return useful results.- Specified by:
isItemValidForSlot
in interfaceFixedItemInvView
- Parameters:
slot
- The slot index. Must be a value between 0 (inclusive) andFixedItemInvView.getSlotCount()
(exclusive) to be valid. (Like in arrays, lists, etc).item
- TheItemStack
to check. It's undefined what is returned if anempty
stack is passed in, but it is not generally expected to be useful.
-
getMaxAmount
public int getMaxAmount(int slot, net.minecraft.item.ItemStack stack)- Specified by:
getMaxAmount
in interfaceFixedItemInvView
- Parameters:
slot
- The slot index. Must be a value between 0 (inclusive) andFixedItemInvView.getSlotCount()
(exclusive) to be valid. (Like in arrays, lists, etc).stack
- The stack to check for. May be anempty
stack to get the maximum amount that this can hold of any stack.- Returns:
- The maximum amount that the given slot can hold of the given stack. This method will ignore the current
stack in
FixedItemInvView.getInvStack(int)
. The default implementation just delegates toItemStack.getMaxCount()
. Note that any setters that this object implements (likeFixedItemInv.setInvStack(int, ItemStack, Simulation)
should reject stacks that are greater than this value. (and callers should only call this if they need to check the amounts separately. Note that it is meaningless to return values greater than the maximum amount an item can be stacked to here, and callers are free to throw an exception if this is violated. (Basically huge single-slot inventories shouldn't implement this interface).
-
getWrapped
public java.lang.Object getWrapped()- Specified by:
getWrapped
in interfaceOpenWrapper
- Returns:
- The object that this wraps, or null if the wrapped object cannot be converted cleanly without exposing
additional details.
For example LBA's
Inventory
toFixedItemInvView
wrapper (FixedInventoryViewVanillaWrapper
) implements this to return theInventory
, but theSidedInventory
variant (FixedSidedInventoryVanillaWrapper
) returns null, as it is not possible to cleanly open the original inventory without exposing additional slots.
-