Class FilteredFluidInsertable
java.lang.Object
alexiil.mc.lib.attributes.fluid.impl.FilteredFluidInsertable
- All Implemented Interfaces:
FluidInsertable
,LimitedConsumer<FluidVolume>
A
FluidInsertable
that delegates to another FluidInsertable
, but has an additional filter as to what
can be inserted.-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionattemptInsertion(FluidVolume fluid, Simulation simulation)
Inserts the given stack into this insertable, and returns the excess.filtered(FluidFilter filter)
Returns anFluidFilter
to determine ifFluidInsertable.attemptInsertion(FluidVolume, Simulation)
could ever accept a fluid.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface alexiil.mc.lib.attributes.fluid.FluidInsertable
getPureInsertable, insert, offer, offer, wouldAccept
-
Field Details
-
filter
-
-
Constructor Details
-
FilteredFluidInsertable
-
-
Method Details
-
getInsertionFilter
Description copied from interface:FluidInsertable
Returns anFluidFilter
to 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:
getInsertionFilter
in interfaceFluidInsertable
- Returns:
- A filter to determine if the given fluid could ever be inserted.
-
getMinimumAcceptedAmount
- Specified by:
getMinimumAcceptedAmount
in interfaceFluidInsertable
- Returns:
- The minimum amount of fluid that
FluidInsertable.attemptInsertion(FluidVolume, Simulation)
will actually accept. Note that this only provides a guarantee thatfluid volumes
with anamount
less than this will never be accepted.A null return value indicates that there is no minimum value.
-
attemptInsertion
Description copied from interface:FluidInsertable
Inserts the given stack into this insertable, and returns the excess.- Specified by:
attemptInsertion
in interfaceFluidInsertable
- Parameters:
fluid
- The incoming fluid. Must not be modified by this call.simulation
- IfSimulation.SIMULATE
then this shouldn't modify anything.- Returns:
- the excess
FluidVolume
that 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:
filtered
in interfaceFluidInsertable
- Returns:
- A new
FluidInsertable
that has an additional filter applied to the fluid inserted into it.
-