Enum EmptyFluidTransferable
java.lang.Object
java.lang.Enum<EmptyFluidTransferable>
alexiil.mc.lib.attributes.fluid.impl.EmptyFluidTransferable
- All Implemented Interfaces:
FluidExtractable
,FluidInsertable
,FluidTransferable
,LimitedConsumer<FluidVolume>
,NullVariant
,java.io.Serializable
,java.lang.Comparable<EmptyFluidTransferable>
,java.lang.constant.Constable
public enum EmptyFluidTransferable extends java.lang.Enum<EmptyFluidTransferable> implements FluidTransferable, NullVariant
An
FluidTransferable
that never returns any items from
attemptExtraction(FluidFilter, int, Simulation)
, nor accepts any items in
attemptInsertion(FluidVolume, Simulation)
.-
Nested Class Summary
-
Enum Constant Summary
Enum Constants Enum Constant Description CONTROLLER
AnFluidTransferable
that informs callers that it will interact with a nearbyFluidTransferable
,FluidExtractable
, orFluidInsertable
but doesn't expose any other item based attributes.NULL
AnFluidTransferable
that should be treated as equal to null in all circumstances - that is any checks that depend on an object being transferable should be considered FALSE for this instance. -
Method Summary
Modifier and Type Method Description 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.FluidFilter
getInsertionFilter()
Returns anFluidFilter
to determine ifFluidInsertable.attemptInsertion(FluidVolume, Simulation)
could ever accept a fluid.FluidExtractable
getPureExtractable()
FluidInsertable
getPureInsertable()
java.lang.String
toString()
static EmptyFluidTransferable
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static EmptyFluidTransferable[]
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.fluid.FluidExtractable
attemptAnyExtraction, attemptAnyExtraction, attemptExtraction, couldExtractAnything, extract, extract, extract, extract, extract, extract
Methods inherited from interface alexiil.mc.lib.attributes.fluid.FluidInsertable
getMinimumAcceptedAmount, insert, offer, offer, wouldAccept
-
Enum Constant Details
-
NULL
AnFluidTransferable
that should be treated as equal to null in all circumstances - that is any checks that depend on an object being transferable should be considered FALSE for this instance. -
CONTROLLER
AnFluidTransferable
that informs callers that it will interact with a nearbyFluidTransferable
,FluidExtractable
, orFluidInsertable
but doesn't expose any other item based attributes.
-
-
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
-
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.
-
getInsertionFilter
Description copied from interface:FluidInsertable
Returns anFluidFilter
to determine ifFluidInsertable.attemptInsertion(FluidVolume, Simulation)
could ever accept a fluid. The default implementation is to returnConstantFluidFilter.ANYTHING
, and so it is recommended that custom insertables override this to return a more accurate filter.- Specified by:
getInsertionFilter
in interfaceFluidInsertable
- Returns:
- A filter to determine if the given fluid could ever be inserted.
-
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.
-
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
.
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Enum<EmptyFluidTransferable>
-