Class CombinedFluidExtractable
java.lang.Object
alexiil.mc.lib.attributes.fluid.impl.CombinedFluidExtractable
- All Implemented Interfaces:
FluidExtractable
public final class CombinedFluidExtractable extends java.lang.Object implements FluidExtractable
-
Constructor Summary
Constructors Constructor Description CombinedFluidExtractable(java.util.List<? extends FluidExtractable> list)
-
Method Summary
Modifier and Type Method Description FluidVolume
attemptExtraction(FluidFilter filter, FluidAmount maxAmount, Simulation simulation)
java.lang.String
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface alexiil.mc.lib.attributes.fluid.FluidExtractable
attemptAnyExtraction, attemptAnyExtraction, attemptExtraction, couldExtractAnything, extract, extract, extract, extract, extract, extract, filtered, getPureExtractable
-
Constructor Details
-
Method Details
-
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.
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-