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 ConstantsEnum ConstantDescriptionAnFluidTransferablethat informs callers that it will interact with a nearbyFluidTransferable,FluidExtractable, orFluidInsertablebut doesn't expose any other item based attributes.AnFluidTransferablethat 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 anFluidFilterto determine ifFluidInsertable.attemptInsertion(FluidVolume, Simulation)could ever accept a fluid.toString()static EmptyFluidTransferableReturns 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, valueOfMethods inherited from interface alexiil.mc.lib.attributes.fluid.FluidExtractable
attemptAnyExtraction, attemptAnyExtraction, attemptExtraction, couldExtractAnything, extract, extract, extract, extract, extract, extractMethods inherited from interface alexiil.mc.lib.attributes.fluid.FluidInsertable
getMinimumAcceptedAmount, insert, offer, offer, wouldAcceptMethods inherited from interface alexiil.mc.lib.attributes.fluid.FluidTransferable
filtered
-
Enum Constant Details
-
NULL
AnFluidTransferablethat 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
AnFluidTransferablethat informs callers that it will interact with a nearbyFluidTransferable,FluidExtractable, orFluidInsertablebut 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:FluidInsertableInserts the given stack into this insertable, and returns the excess.- Specified by:
attemptInsertionin interfaceFluidInsertable- Parameters:
fluid- The incoming fluid. Must not be modified by this call.simulation- IfSimulation.SIMULATEthen this shouldn't modify anything.- Returns:
- the excess
FluidVolumethat 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:FluidInsertableReturns anFluidFilterto 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:
getInsertionFilterin interfaceFluidInsertable- Returns:
- A filter to determine if the given fluid could ever be inserted.
-
attemptExtraction
Description copied from interface:FluidExtractable- Specified by:
attemptExtractionin interfaceFluidExtractablemaxAmount- The maximum amount of fluid that can be extracted. Negative numbers throw an exception.simulation- IfSimulation.SIMULATEthen this should return the same result that the exact same call withSimulation.ACTIONwould 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:
FluidExtractablefrom = // Some extractable
FluidVolumeattempted = from.attemptAnyExtraction(Integer.MAX_VALUE,Simulation.SIMULATE);
if (attempted.isEmpty()) return;
FluidVolumeextracted = 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
FluidVolumethat was extracted.
-
getPureInsertable
- Specified by:
getPureInsertablein interfaceFluidInsertable- Returns:
- An object that only implements
FluidInsertable, and does not expose any of the other modification methods that sibling or subclasses offer (likeFluidExtractableorGroupedFluidInv.
-
getPureExtractable
- Specified by:
getPureExtractablein interfaceFluidExtractable- Returns:
- An object that only implements
FluidExtractable, and does not expose any of the other modification methods that sibling or subclasses offer (likeFluidInsertableorGroupedFluidInv.
-
toString
- Overrides:
toStringin classEnum<EmptyFluidTransferable>
-