Enum EmptyFluidExtractable
- All Implemented Interfaces:
FluidExtractable
,NullVariant
,java.io.Serializable
,java.lang.Comparable<EmptyFluidExtractable>
,java.lang.constant.Constable
public enum EmptyFluidExtractable extends java.lang.Enum<EmptyFluidExtractable> implements FluidExtractable, NullVariant
FluidExtractable
that never returns any fluid from
attemptExtraction(FluidFilter, int, Simulation)
.-
Nested Class Summary
-
Enum Constant Summary
Enum Constants Enum Constant Description NULL
AFluidExtractable
that should be treated as equal to null in all circumstances - that is any checks that depend on an object being extractable should be considered FALSE for this instance.SUPPLIER
AFluidExtractable
that informs callers that it will push fluid into a nearbyFluidInsertable
, but doesn't expose any other fluid based attributes. -
Method Summary
Modifier and Type Method Description FluidVolume
attemptExtraction(FluidFilter filter, int maxAmount, Simulation simulation)
Deprecated.FluidVolume
attemptExtraction(FluidFilter filter, FluidAmount maxAmount, Simulation simulation)
FluidExtractable
getPureExtractable()
static EmptyFluidExtractable
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static EmptyFluidExtractable[]
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, couldExtractAnything, extract, extract, extract, extract, extract, extract, filtered
-
Enum Constant Details
-
NULL
AFluidExtractable
that should be treated as equal to null in all circumstances - that is any checks that depend on an object being extractable should be considered FALSE for this instance. -
SUPPLIER
AFluidExtractable
that informs callers that it will push fluid into a nearbyFluidInsertable
, but doesn't expose any other fluid based attributes.The buildcraft quarry is a good example of an item version of this - it doesn't have any inventory storage itself and it pushes items out of it as it mines them from the world, but item pipes should still connect to it so that it can insert into them.
-
-
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
-
attemptExtraction
@Deprecated public FluidVolume attemptExtraction(FluidFilter filter, int maxAmount, Simulation simulation)Deprecated.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.
-
attemptExtraction
public FluidVolume attemptExtraction(FluidFilter filter, FluidAmount maxAmount, Simulation simulation)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.
-
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
.
-