Enum Class EmptyFluidTransferable
- All Implemented Interfaces:
FluidExtractable
,FluidInsertable
,FluidTransferable
,LimitedConsumer<FluidVolume>
,NullVariant
,Serializable
,Comparable<EmptyFluidTransferable>
,Constable
public enum EmptyFluidTransferable
extends 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
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionAnFluidTransferable
that informs callers that it will interact with a nearbyFluidTransferable
,FluidExtractable
, orFluidInsertable
but doesn't expose any other item based attributes.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 TypeMethodDescriptionattemptExtraction
(FluidFilter filter, int maxAmount, Simulation simulation) attemptInsertion
(FluidVolume fluid, Simulation simulation) Inserts the given stack into this insertable, and returns the excess.Returns anFluidFilter
to determine ifFluidInsertable.attemptInsertion(FluidVolume, Simulation)
could ever accept a fluid.toString()
static EmptyFluidTransferable
Returns the enum constant of this class with the specified name.static EmptyFluidTransferable[]
values()
Returns an array containing the constants of this enum class, 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
Methods inherited from interface alexiil.mc.lib.attributes.fluid.FluidTransferable
filtered
-
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 class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- 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
- Overrides:
toString
in classEnum<EmptyFluidTransferable>
-