Class SimpleLimitedGroupedFluidInv
java.lang.Object
alexiil.mc.lib.attributes.fluid.impl.DelegatingGroupedFluidInv
alexiil.mc.lib.attributes.fluid.impl.SimpleLimitedGroupedFluidInv
- All Implemented Interfaces:
- FluidExtractable,- FluidInsertable,- FluidTransferable,- GroupedFluidInv,- GroupedFluidInvView,- LimitedGroupedFluidInv,- LimitedConsumer<FluidVolume>
public class SimpleLimitedGroupedFluidInv
extends DelegatingGroupedFluidInv
implements LimitedGroupedFluidInv
- 
Nested Class SummaryNested classes/interfaces inherited from interface alexiil.mc.lib.attributes.fluid.GroupedFluidInvViewGroupedFluidInvView.FluidInvStatisticNested classes/interfaces inherited from interface alexiil.mc.lib.attributes.fluid.LimitedGroupedFluidInvLimitedGroupedFluidInv.FluidLimitRule
- 
Field SummaryFields inherited from class alexiil.mc.lib.attributes.fluid.impl.DelegatingGroupedFluidInvdelegate
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidattemptExtraction(FluidFilter filter, FluidAmount maxAmount, Simulation simulation)attemptInsertion(FluidVolume fluid, Simulation simulation)Inserts the given stack into this insertable, and returns the excess.copy()Creates a copy of thisLimitedGroupedFluidInv(with the same backing inventory and the same rules), but not marked as final.Returns anFluidFilterto determine ifFluidInsertable.attemptInsertion(FluidVolume, Simulation)could ever accept a fluid.getRule(FluidFilter filter)Marks this object as final, and disallows any further changes to this.Methods inherited from class alexiil.mc.lib.attributes.fluid.impl.DelegatingGroupedFluidInvaddListener_F, attemptAnyExtraction, getStatistics, getStoredFluids, getTotalCapacity_FMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface alexiil.mc.lib.attributes.fluid.FluidExtractableattemptAnyExtraction, attemptAnyExtraction, attemptExtraction, couldExtractAnything, extract, extract, extract, extract, extract, extract, getPureExtractableMethods inherited from interface alexiil.mc.lib.attributes.fluid.FluidInsertablegetMinimumAcceptedAmount, getPureInsertable, insert, offer, offer, wouldAcceptMethods inherited from interface alexiil.mc.lib.attributes.fluid.GroupedFluidInvcreateLimitedGroupedInv, filteredMethods inherited from interface alexiil.mc.lib.attributes.fluid.GroupedFluidInvViewaddListener, addListener_F, getAmount, getAmount, getAmount_F, getAmount_F, getCapacity, getCapacity_F, getGroupedView, getSpace, getSpace_F, getStatistics, getStatistics, getStoredFluids, getTotalCapacity, getTotalCapacity_FMethods inherited from interface alexiil.mc.lib.attributes.fluid.LimitedGroupedFluidInvasUnmodifiable, getAllRule, getRule, reset
- 
Constructor Details- 
SimpleLimitedGroupedFluidInv
 
- 
- 
Method Details- 
markFinalDescription copied from interface:LimitedGroupedFluidInvMarks this object as final, and disallows any further changes to this. If this is called thenLimitedGroupedFluidInv.asUnmodifiable()will return this object.- Specified by:
- markFinalin interface- LimitedGroupedFluidInv
- Returns:
- this.
 
- 
assertMutableprotected void assertMutable()
- 
copyDescription copied from interface:LimitedGroupedFluidInvCreates a copy of thisLimitedGroupedFluidInv(with the same backing inventory and the same rules), but not marked as final.- Specified by:
- copyin interface- LimitedGroupedFluidInv
 
- 
attemptExtractionpublic FluidVolume attemptExtraction(FluidFilter filter, FluidAmount maxAmount, Simulation simulation)Description copied from interface:FluidExtractable- Specified by:
- attemptExtractionin interface- FluidExtractable
- Overrides:
- attemptExtractionin class- DelegatingGroupedFluidInv
- maxAmount- The maximum amount of fluid that can be extracted. Negative numbers throw an exception.
- simulation- If- Simulation.SIMULATEthen this should return the same result that the exact same call with- Simulation.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.
 
- 
attemptInsertionDescription copied from interface:FluidInsertableInserts the given stack into this insertable, and returns the excess.- Specified by:
- attemptInsertionin interface- FluidInsertable
- Overrides:
- attemptInsertionin class- DelegatingGroupedFluidInv
- Parameters:
- fluid- The incoming fluid. Must not be modified by this call.
- simulation- If- Simulation.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.
 
- 
getInsertionFilterDescription 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 interface- FluidInsertable
- Overrides:
- getInsertionFilterin class- DelegatingGroupedFluidInv
- Returns:
- A filter to determine if the given fluid could ever be inserted.
 
- 
getRule- Specified by:
- getRulein interface- LimitedGroupedFluidInv
- Returns:
- An LimitedGroupedFluidInv.FluidLimitRulethat applies to every fluid that matches the given filter.
 
 
-