Enum EmptyGroupedItemInv
- All Implemented Interfaces:
AbstractItemInvView
,GroupedItemInv
,GroupedItemInvView
,ItemExtractable
,ItemInsertable
,ItemTransferable
,LimitedConsumer<net.minecraft.item.ItemStack>
,NullVariant
,java.io.Serializable
,java.lang.Comparable<EmptyGroupedItemInv>
,java.lang.constant.Constable
public enum EmptyGroupedItemInv extends java.lang.Enum<EmptyGroupedItemInv> implements GroupedItemInv, NullVariant
GroupedItemInvView
for an empty inventory.-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
java.lang.Enum.EnumDesc<E extends java.lang.Enum<E>>
Nested classes/interfaces inherited from interface alexiil.mc.lib.attributes.item.AbstractItemInvView
AbstractItemInvView.DefaultChangeTracker
Nested classes/interfaces inherited from interface alexiil.mc.lib.attributes.item.GroupedItemInvView
GroupedItemInvView.ItemInvStatistic
-
Enum Constant Summary
Enum Constants Enum Constant Description INSTANCE
-
Method Summary
Modifier and Type Method Description ListenerToken
addListener(InvMarkDirtyListener listener, ListenerRemovalToken removalToken)
Adds the given listener to this inventory, such thatInvMarkDirtyListener.onMarkDirty(AbstractItemInvView)
will be called every time that any stored stack is changed (either fromFixedItemInv.setInvStack(int, ItemStack, Simulation)
orFixedItemInv.ModifiableFixedItemInv.markDirty()
).ListenerToken
addListener(ItemInvAmountChangeListener listener, ListenerRemovalToken removalToken)
Adds the given listener to this inventory, such that theItemInvAmountChangeListener.onChange(GroupedItemInvView, ItemStack, int, int)
will be called every time that this inventory changes.net.minecraft.item.ItemStack
attemptAnyExtraction(int maxAmount, Simulation simulation)
net.minecraft.item.ItemStack
attemptExtraction(ItemFilter filter, int maxAmount, Simulation simulation)
net.minecraft.item.ItemStack
attemptInsertion(net.minecraft.item.ItemStack stack, Simulation simulation)
Inserts the given stack into this insertable, and returns the excess.int
getAmount(ItemFilter filter)
int
getAmount(net.minecraft.item.ItemStack stack)
int
getCapacity(net.minecraft.item.ItemStack stack)
int
getChangeValue()
GroupedItemInvView
getGroupedView()
ItemFilter
getInsertionFilter()
Returns anItemFilter
to determine ifItemInsertable.attemptInsertion(ItemStack, Simulation)
will accept a stack.ItemExtractable
getPureExtractable()
ItemInsertable
getPureInsertable()
int
getSpace(net.minecraft.item.ItemStack stack)
GroupedItemInvView.ItemInvStatistic
getStatistics(ItemFilter filter)
java.util.Set<net.minecraft.item.ItemStack>
getStoredStacks()
int
getTotalCapacity()
java.lang.String
toString()
static EmptyGroupedItemInv
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static EmptyGroupedItemInv[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.Methods inherited from class java.lang.Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
Methods inherited from interface alexiil.mc.lib.attributes.item.GroupedItemInv
createLimitedGroupedInv, filtered
Methods inherited from interface alexiil.mc.lib.attributes.item.GroupedItemInvView
getStatistics, isEmpty
Methods inherited from interface alexiil.mc.lib.attributes.item.ItemExtractable
couldExtractAnything, extract, extract, extract
Methods inherited from interface alexiil.mc.lib.attributes.item.ItemInsertable
insert, offer, offer, wouldAccept, wouldPartiallyAccept
-
Enum Constant Details
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
getStatistics
- Specified by:
getStatistics
in interfaceGroupedItemInvView
- Parameters:
filter
- The filter to check on.- Returns:
- Statistics about the currently stored amount, capacity, and space for everything that matches the given filter.
-
getStoredStacks
public java.util.Set<net.minecraft.item.ItemStack> getStoredStacks()- Specified by:
getStoredStacks
in interfaceGroupedItemInvView
- Returns:
- a set containing all of the
ItemStack
's that are stored in the inventory. NOTE: This must return a set using one of theHash.Strategy
's inItemStackCollections
otherwise comparison methods won't work correctly!
-
getAmount
- Specified by:
getAmount
in interfaceGroupedItemInvView
- Returns:
- A count of all the
ItemStack
's that match the given filter.
-
getAmount
public int getAmount(net.minecraft.item.ItemStack stack)- Specified by:
getAmount
in interfaceGroupedItemInvView
- Parameters:
stack
- The stack to check for. Cannot beempty
.- Returns:
- The total amount of the given stack that is stored in this inventory.
-
getCapacity
public int getCapacity(net.minecraft.item.ItemStack stack)- Specified by:
getCapacity
in interfaceGroupedItemInvView
- Parameters:
stack
- The stack to check for. Must not beempty
.- Returns:
- The total space that is available (right now!) to store the given stack.
-
getSpace
public int getSpace(net.minecraft.item.ItemStack stack)- Specified by:
getSpace
in interfaceGroupedItemInvView
- Returns:
- The total space that could store the given stack, not including space that is currently taken up by the
stack (so this should change with
GroupedItemInvView.getAmount(ItemFilter)
).
-
getTotalCapacity
public int getTotalCapacity()- Specified by:
getTotalCapacity
in interfaceGroupedItemInvView
- Returns:
- The total capacity for every
ItemStack
that can be stored in this inventory.NOTE: This value might not be equal to the sum of
GroupedItemInvView.getCapacity(ItemStack)
overGroupedItemInvView.getStoredStacks()
!
-
getInsertionFilter
Description copied from interface:ItemInsertable
Returns anItemFilter
to determine ifItemInsertable.attemptInsertion(ItemStack, Simulation)
will accept a stack. The default implementation is a call toattemptInsertion
(stack,Simulation.SIMULATE
), and it is only useful to override this if the resulting filter contains information that might be usable by the caller.- Specified by:
getInsertionFilter
in interfaceItemInsertable
- Returns:
- A filter to determine if
ItemInsertable.attemptInsertion(ItemStack, Simulation)
will accept the entirety of a given stack.
-
attemptInsertion
public net.minecraft.item.ItemStack attemptInsertion(net.minecraft.item.ItemStack stack, Simulation simulation)Description copied from interface:ItemInsertable
Inserts the given stack into this insertable, and returns the excess.- Specified by:
attemptInsertion
in interfaceItemInsertable
- Parameters:
stack
- The incoming stack. Must not be modified by this call.simulation
- IfSimulation.SIMULATE
then this shouldn't modify anything.- Returns:
- the excess
ItemStack
that wasn't accepted. This will be independent of this insertable, however it might be the given stack instead of a completely new object.
-
attemptAnyExtraction
Description copied from interface:ItemExtractable
- Specified by:
attemptAnyExtraction
in interfaceItemExtractable
-
attemptExtraction
public net.minecraft.item.ItemStack attemptExtraction(ItemFilter filter, int maxAmount, Simulation simulation)Description copied from interface:ItemExtractable
- Specified by:
attemptExtraction
in interfaceItemExtractable
maxAmount
- The maximum number of items that can be extracted. Negative numbers throw an exception.simulation
- IfSimulation.SIMULATE
then this should return the same result that a call withSimulation.ACTION
would do, but without modifying anything else.- Returns:
- A new, independent
ItemStack
that was extracted.
-
addListener
public ListenerToken addListener(ItemInvAmountChangeListener listener, ListenerRemovalToken removalToken)Description copied from interface:GroupedItemInvView
Adds the given listener to this inventory, such that theItemInvAmountChangeListener.onChange(GroupedItemInvView, ItemStack, int, int)
will be called every time that this inventory changes. However if this inventory doesn't support listeners then this will return a nulltoken
.The default implementation refuses to accept any listeners, but implementations are highly encouraged to override this if they are able to!
- Specified by:
addListener
in interfaceGroupedItemInvView
removalToken
- A token that will be called whenever the given listener is removed from this inventory (or if this inventory itself is unloaded or otherwise invalidated).- Returns:
- A token that represents the listener, or null if the listener could not be added.
-
getChangeValue
public int getChangeValue()- Specified by:
getChangeValue
in interfaceAbstractItemInvView
- Returns:
- A value that indicates whether an inventory might have changed if it differs from the last value
returned. This number doesn't have to start at 0, but it must change every time that the inventory is
changed, although it can change even without any observable changes to this inventory.
Inventories that don't support this might increment the change number every time that this is called - so you should never write a loop that depends on the returned value settling down on a particular value.
Inventories that support
listeners
highly encouraged to support this - by definition if an inventory knows when it changed then it should be able to count the number of changes. It is also implied that any changes to this value will also invoke every registeredInvMarkDirtyListener
.The default implementation returns an ever-increasing value.
-
addListener
Description copied from interface:AbstractItemInvView
Adds the given listener to this inventory, such thatInvMarkDirtyListener.onMarkDirty(AbstractItemInvView)
will be called every time that any stored stack is changed (either fromFixedItemInv.setInvStack(int, ItemStack, Simulation)
orFixedItemInv.ModifiableFixedItemInv.markDirty()
).If the listener is registered (and thus this returns null) then it implies that
AbstractItemInvView.getChangeValue()
will change every time that the given listener is invoked, always just-before it is invoked.The default implementation refuses to accept any listeners, but implementations are highly encouraged to override this if they are able to!
- Specified by:
addListener
in interfaceAbstractItemInvView
- Specified by:
addListener
in interfaceGroupedItemInvView
removalToken
- A token that will be called whenever the given listener is removed from this inventory (or if this inventory itself is unloaded or otherwise invalidated).- Returns:
- A token that represents the listener, or null if the listener could not be added.
-
getGroupedView
- Specified by:
getGroupedView
in interfaceGroupedItemInvView
- Returns:
- A completely unmodifiable view of this
GroupedItemInvView
.
-
getPureInsertable
- Specified by:
getPureInsertable
in interfaceItemInsertable
- Returns:
- An object that only implements
ItemInsertable
, and does not expose any of the other modification methods that sibling or subclasses offer (likeItemExtractable
orGroupedItemInv
.
-
getPureExtractable
- Specified by:
getPureExtractable
in interfaceItemExtractable
- Returns:
- An object that only implements
ItemExtractable
, and does not expose any of the other modification methods that sibling or subclasses offer (likeItemInsertable
orGroupedItemInv
.
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Enum<EmptyGroupedItemInv>
-