package net.minecraftforge.liquids; /** * A tank is the unit of interaction with liquid inventories. * * @author cpw */ public interface ILiquidTank { /** * @return LiquidStack representing the liquid contained in the tank, null if empty. */ LiquidStack getLiquid(); /** * @return capacity of this tank */ int getCapacity(); /** * * @param resource * @param doFill * @return Amount of liquid used for filling. */ int fill(LiquidStack resource, boolean doFill); /** * * @param maxDrain * @param doDrain * @return Null if nothing was drained, otherwise a LiquidStack containing the drained. */ LiquidStack drain(int maxDrain, boolean doDrain); /** * Positive values indicate a positive liquid pressure (liquid wants to leave this tank) * Negative values indicate a negative liquid pressure (liquid wants to fill this tank) * Zero indicates no pressure * * @return a number indicating tank pressure */ public int getTankPressure(); }