Enum EmptyGroupedFluidInv
- All Implemented Interfaces:
FluidExtractable
,FluidInsertable
,FluidTransferable
,GroupedFluidInv
,GroupedFluidInvView
,LimitedConsumer<FluidVolume>
,NullVariant
,java.io.Serializable
,java.lang.Comparable<EmptyGroupedFluidInv>
,java.lang.constant.Constable
public enum EmptyGroupedFluidInv extends java.lang.Enum<EmptyGroupedFluidInv> implements GroupedFluidInv, NullVariant
GroupedFluidInvView
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.fluid.GroupedFluidInvView
GroupedFluidInvView.FluidInvStatistic
-
Enum Constant Summary
Enum Constants Enum Constant Description INSTANCE
-
Method Summary
Modifier and Type Method Description ListenerToken
addListener_F(FluidInvAmountChangeListener_F listener, ListenerRemovalToken removalToken)
Adds the given listener to this inventory, such that theFluidInvAmountChangeListener.onChange(GroupedFluidInvView, FluidKey, int, int)
will be called every time that this inventory changes.FluidVolume
attemptExtraction(FluidFilter filter, int maxAmount, Simulation simulation)
FluidVolume
attemptInsertion(FluidVolume fluid, Simulation simulation)
Inserts the given stack into this insertable, and returns the excess.GroupedFluidInvView
getGroupedView()
FluidExtractable
getPureExtractable()
FluidInsertable
getPureInsertable()
GroupedFluidInvView.FluidInvStatistic
getStatistics(FluidFilter filter)
java.util.Set<FluidKey>
getStoredFluids()
FluidAmount
getTotalCapacity_F()
static EmptyGroupedFluidInv
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static EmptyGroupedFluidInv[]
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, toString, valueOf
Methods inherited from interface alexiil.mc.lib.attributes.fluid.FluidExtractable
attemptAnyExtraction, attemptAnyExtraction, attemptExtraction, couldExtractAnything, extract, extract, extract, extract, extract, extract
Methods inherited from interface alexiil.mc.lib.attributes.fluid.FluidInsertable
getInsertionFilter, getMinimumAcceptedAmount, insert, offer, offer, wouldAccept
Methods inherited from interface alexiil.mc.lib.attributes.fluid.GroupedFluidInv
createLimitedGroupedInv, filtered
Methods inherited from interface alexiil.mc.lib.attributes.fluid.GroupedFluidInvView
addListener, getAmount, getAmount, getAmount_F, getAmount_F, getCapacity, getCapacity_F, getSpace, getSpace_F, getStatistics, getTotalCapacity
-
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 interfaceGroupedFluidInvView
- Parameters:
filter
- The filter to check on.- Returns:
- Statistics about the currently stored amount, capacity, and space for everything that matches the given filter.
-
getStoredFluids
- Specified by:
getStoredFluids
in interfaceGroupedFluidInvView
- Returns:
- a set containing all of the
FluidKey
's that are stored in the inventory.
-
getTotalCapacity_F
- Specified by:
getTotalCapacity_F
in interfaceGroupedFluidInvView
- Returns:
- The total capacity for every
FluidKey
that can be stored in this inventory.NOTE: This value might not be equal to the sum of
GroupedFluidInvView.getCapacity(FluidKey)
overGroupedFluidInvView.getStoredFluids()
!
-
addListener_F
public ListenerToken addListener_F(FluidInvAmountChangeListener_F listener, ListenerRemovalToken removalToken)Description copied from interface:GroupedFluidInvView
Adds the given listener to this inventory, such that theFluidInvAmountChangeListener.onChange(GroupedFluidInvView, FluidKey, 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
.- Specified by:
addListener_F
in interfaceGroupedFluidInvView
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.
-
attemptInsertion
Description copied from interface:FluidInsertable
Inserts the given stack into this insertable, and returns the excess.- Specified by:
attemptInsertion
in interfaceFluidInsertable
- Parameters:
fluid
- The incoming fluid. Must not be modified by this call.simulation
- IfSimulation.SIMULATE
then this shouldn't modify anything.- Returns:
- the excess
FluidVolume
that wasn't accepted. This will be independent of this insertable, however it might be the given object instead of a completely new object.
-
attemptExtraction
Description copied from interface:FluidExtractable
- Specified by:
attemptExtraction
in interfaceFluidExtractable
maxAmount
- The maximum amount of fluid that can be extracted. Negative numbers throw an exception.simulation
- IfSimulation.SIMULATE
then this should return the same result that the exact same call withSimulation.ACTION
would do, except that the filter can be made more specific between calls if the previously simulated extracted fluid is used as a filter.For example the following code snippet should never throw an exception:
FluidExtractable
from = // Some extractable
FluidVolume
attempted = from.attemptAnyExtraction
(Integer.MAX_VALUE
,Simulation.SIMULATE
);
if (attempted.isEmpty()
) return;
FluidVolume
extracted = from.extract
(attempted.getFluidKey()
, attempted.getAmount()
);
assert !extracted.isEmpty
;
assert attempted.getAmount()
== extracted.getAmount()
;
assert attempted.getFluidKet()
== extracted.getFluidKet()
;
assert attempted.equals
(extracted);- Returns:
- A new, independent
FluidVolume
that was extracted.
-
getGroupedView
- Specified by:
getGroupedView
in interfaceGroupedFluidInvView
- Returns:
- A completely unmodifiable view of this
GroupedItemInvView
.
-
getPureInsertable
- Specified by:
getPureInsertable
in interfaceFluidInsertable
- Returns:
- An object that only implements
FluidInsertable
, and does not expose any of the other modification methods that sibling or subclasses offer (likeFluidExtractable
orGroupedFluidInv
.
-
getPureExtractable
- Specified by:
getPureExtractable
in interfaceFluidExtractable
- Returns:
- An object that only implements
FluidExtractable
, and does not expose any of the other modification methods that sibling or subclasses offer (likeFluidInsertable
orGroupedFluidInv
.
-