Class CombinedFixedFluidInvView<InvType extends FixedFluidInvView>
java.lang.Object
alexiil.mc.lib.attributes.misc.AbstractCombined<InvType>
alexiil.mc.lib.attributes.fluid.impl.CombinedFixedFluidInvView<InvType>
- All Implemented Interfaces:
Convertible,FixedFluidInvView,Combined
- Direct Known Subclasses:
CombinedFixedFluidInv
public class CombinedFixedFluidInvView<InvType extends FixedFluidInvView>
extends AbstractCombined<InvType>
implements FixedFluidInvView
An
FixedFluidInvView that delegates to a list of them instead of storing items directly.-
Field Summary
FieldsFields inherited from class alexiil.mc.lib.attributes.misc.AbstractCombined
list -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddListener(FluidInvTankChangeListener listener, ListenerRemovalToken removalToken) Adds the given listener to this inventory, such that theFluidInvTankChangeListener.onChange(FixedFluidInvView, int, FluidVolume, FluidVolume)will be called every time that this inventory changes.getFilterForTank(int tank) ExposesFixedFluidInvView.isFluidValidForTank(int, FluidKey)as a (potentially) readable filter.protected InvTypegetInv(int tank) getInvFluid(int tank) intgetMaxAmount(int tank) Deprecated, for removal: This API element is subject to removal in a future version.getMaxAmount_F(int tank) protected intgetSubTank(int tank) intbooleanisFluidValidForTank(int tank, FluidKey fluid) Checks to see if the given fluid would be valid for this tank, ignoring current contents.Methods inherited from class alexiil.mc.lib.attributes.misc.AbstractCombined
equals, getSubObject, getSubObjectCount, hashCode, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface alexiil.mc.lib.attributes.fluid.FixedFluidInvView
convertTo, fluidIterable, getFixedView, getGroupedInv, getMappedInv, getSubInv, getTank, offerSelfAsAttribute, tankIterable
-
Field Details
-
views
-
-
Constructor Details
-
CombinedFixedFluidInvView
-
-
Method Details
-
getTankCount
public int getTankCount()- Specified by:
getTankCountin interfaceFixedFluidInvView- Returns:
- The number of tanks in this inventory.
-
getInv
-
getSubTank
protected int getSubTank(int tank) -
getInvFluid
- Specified by:
getInvFluidin interfaceFixedFluidInvView- Parameters:
tank- The tank index. Must be a value between 0 (inclusive) andFixedFluidInvView.getTankCount()(exclusive) to be valid. (Like in arrays, lists, etc).- Returns:
- The FluidVolume that is held in the tank at the moment. The returned volume must never be modified!
-
isFluidValidForTank
Description copied from interface:FixedFluidInvViewChecks to see if the given fluid would be valid for this tank, ignoring current contents. Note that this method should adhere to the requirements ofFluidFilter.matches(FluidKey), so passingemptyfluids will generally not return useful results.- Specified by:
isFluidValidForTankin interfaceFixedFluidInvView- Parameters:
tank- The tank index. Must be a value between 0 (inclusive) andFixedFluidInvView.getTankCount()(exclusive) to be valid. (Like in arrays, lists, etc).
-
getFilterForTank
Description copied from interface:FixedFluidInvViewExposesFixedFluidInvView.isFluidValidForTank(int, FluidKey)as a (potentially) readable filter.- Specified by:
getFilterForTankin interfaceFixedFluidInvView- Parameters:
tank- The tank index. Must be a value between 0 (inclusive) andFixedFluidInvView.getTankCount()(exclusive) to be valid. (Like in arrays, lists, etc).- Returns:
- An
FluidFilterfor this tank. If this tank is filtered by anFluidFilterinternally then it is highly recommended that this be overridden to return that filter rather than the default opaque wrapper aroundFixedFluidInvView.isFluidValidForTank(int, FluidKey).
-
getMaxAmount
Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
getMaxAmountin interfaceFixedFluidInvView- Parameters:
tank- The tank index. Must be a value between 0 (inclusive) andFixedFluidInvView.getTankCount()(exclusive) to be valid. (Like in arrays, lists, etc).- Returns:
- The maximum amount that the given tank can hold of the given fluid. This method will ignore the current
stack in
FixedFluidInvView.getInvFluid(int). Note that any setters that this object implements (likeFixedFluidInv.setInvFluid(int, FluidVolume, Simulation)should reject stacks that are greater than this value. (and callers should only call this if they need to check the amounts separately. Note that it is meaningless to return values greater than the maximum amount an fluid can be stacked to here, and callers are free to throw an exception if this is violated. (Basically huge single-tank inventories shouldn't implement this interface).
-
getMaxAmount_F
- Specified by:
getMaxAmount_Fin interfaceFixedFluidInvView- Parameters:
tank- The tank index. Must be a value between 0 (inclusive) andFixedFluidInvView.getTankCount()(exclusive) to be valid. (Like in arrays, lists, etc).- Returns:
- The maximum amount that the given tank can hold of the given fluid. This method will ignore the current
stack in
FixedFluidInvView.getInvFluid(int). Note that any setters that this object implements (likeFixedFluidInv.setInvFluid(int, FluidVolume, Simulation)should reject stacks that are greater than this value. (and callers should only call this if they need to check the amounts separately. Note that it is meaningless to return values greater than the maximum amount an fluid can be stacked to here, and callers are free to throw an exception if this is violated. (Basically huge single-tank inventories shouldn't implement this interface).
-
addListener
public ListenerToken addListener(FluidInvTankChangeListener listener, ListenerRemovalToken removalToken) Description copied from interface:FixedFluidInvViewAdds the given listener to this inventory, such that theFluidInvTankChangeListener.onChange(FixedFluidInvView, int, FluidVolume, FluidVolume)will be called every time that this inventory changes. However if this inventory doesn't support listeners then this will return a nulltoken.- Specified by:
addListenerin interfaceFixedFluidInvViewremovalToken- A token that will be called whenever the given listener is removed from this inventory (or if this inventory itself is unloaded or otherwise invalidated).- Returns:
- A token that represents the listener, or null if the listener could not be added.
-