Class FilteredFluidInsertable
java.lang.Object
alexiil.mc.lib.attributes.fluid.impl.FilteredFluidInsertable
- All Implemented Interfaces:
FluidInsertable,LimitedConsumer<FluidVolume>
public final class FilteredFluidInsertable extends java.lang.Object implements FluidInsertable
A
FluidInsertable that delegates to another FluidInsertable, but has an additional filter as to what
can be inserted.-
Field Summary
Fields Modifier and Type Field Description FluidFilterfilter -
Constructor Summary
Constructors Constructor Description FilteredFluidInsertable(FluidInsertable real, FluidFilter filter) -
Method Summary
Modifier and Type Method Description FluidVolumeattemptInsertion(FluidVolume fluid, Simulation simulation)Inserts the given stack into this insertable, and returns the excess.FluidInsertablefiltered(FluidFilter filter)FluidFiltergetInsertionFilter()Returns anFluidFilterto determine ifFluidInsertable.attemptInsertion(FluidVolume, Simulation)could ever accept a fluid.FluidAmountgetMinimumAcceptedAmount()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface alexiil.mc.lib.attributes.fluid.FluidInsertable
getPureInsertable, insert, offer, offer, wouldAccept
-
Field Details
-
Constructor Details
-
Method Details
-
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.
-
getMinimumAcceptedAmount
- Specified by:
getMinimumAcceptedAmountin interfaceFluidInsertable- Returns:
- The minimum amount of fluid that
FluidInsertable.attemptInsertion(FluidVolume, Simulation)will actually accept. Note that this only provides a guarantee thatfluid volumeswith anamountless than this will never be accepted.A null return value indicates that there is no minimum value.
-
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.
-
filtered
- Specified by:
filteredin interfaceFluidInsertable- Returns:
- A new
FluidInsertablethat has an additional filter applied to the fluid inserted into it.
-