Enum Class EmptyFluidExtractable
- All Implemented Interfaces:
FluidExtractable
,NullVariant
,Serializable
,Comparable<EmptyFluidExtractable>
,Constable
FluidExtractable
that never returns any fluid from
attemptExtraction(FluidFilter, int, Simulation)
.-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionAFluidExtractable
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.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 TypeMethodDescriptionattemptExtraction(FluidFilter filter, int maxAmount, Simulation simulation)
Deprecated, for removal: This API element is subject to removal in a future version.attemptExtraction(FluidFilter filter, FluidAmount maxAmount, Simulation simulation)
static EmptyFluidExtractable
Returns the enum constant of this class with the specified name.static EmptyFluidExtractable[]
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, 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 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
-
attemptExtraction
@Deprecated(since="0.6.0", forRemoval=true) public FluidVolume attemptExtraction(FluidFilter filter, int maxAmount, Simulation simulation)Deprecated, for removal: This API element is subject to removal in a future version.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
.
-