net.minecraftforge.liquids

## Interface ITankContainer

-     public interface ITankContainer

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `LiquidStack` | `drain(ForgeDirection from, int maxDrain, boolean doDrain)` Drains liquid out of internal tanks, distribution is left to the ITankContainer.
    `LiquidStack` | `drain(int tankIndex, int maxDrain, boolean doDrain)` Drains liquid out of the specified internal tank.
    `int` | `fill(ForgeDirection from, LiquidStack resource, boolean doFill)` Fills liquid into internal tanks, distribution is left to the ITankContainer.
    `int` | `fill(int tankIndex, LiquidStack resource, boolean doFill)` Fills liquid into the specified internal tank.
    `ILiquidTank` | `getTank(ForgeDirection direction, LiquidStack type)` Return the tank that this tank container desired to be used for the specified liquid type from the specified direction
    `ILiquidTank[]` | `getTanks(ForgeDirection direction)`

- - ### Method Detail

    - #### fill

          int fill(ForgeDirection from,
                 LiquidStack resource,
                 boolean doFill)

      Fills liquid into internal tanks, distribution is left to the ITankContainer.
      Parameters:
        `from` - Orientation the liquid is pumped in from.
        `resource` - LiquidStack representing the maximum amount of liquid filled into the ITankContainer
        `doFill` - If false filling will only be simulated.
      Returns:
        Amount of resource that was filled into internal tanks.

    - #### fill

          int fill(int tankIndex,
                 LiquidStack resource,
                 boolean doFill)

      Fills liquid into the specified internal tank.
      Parameters:
        `tankIndex` - the index of the tank to fill
        `resource` - LiquidStack representing the maximum amount of liquid filled into the ITankContainer
        `doFill` - If false filling will only be simulated.
      Returns:
        Amount of resource that was filled into internal tanks.

    - #### drain

          LiquidStack drain(ForgeDirection from,
                          int maxDrain,
                          boolean doDrain)

      Drains liquid out of internal tanks, distribution is left to the ITankContainer.
      Parameters:
        `from` - Orientation the liquid is drained to.
        `maxDrain` - Maximum amount of liquid to drain.
        `doDrain` - If false draining will only be simulated.
      Returns:
        LiquidStack representing the liquid and amount actually drained from the ITankContainer

    - #### drain

          LiquidStack drain(int tankIndex,
                          int maxDrain,
                          boolean doDrain)

      Drains liquid out of the specified internal tank.
      Parameters:
        `tankIndex` - the index of the tank to drain
        `maxDrain` - Maximum amount of liquid to drain.
        `doDrain` - If false draining will only be simulated.
      Returns:
        LiquidStack representing the liquid and amount actually drained from the ITankContainer

    - #### getTanks

          ILiquidTank[] getTanks(ForgeDirection direction)

      Parameters:
        `direction` - tank side: UNKNOWN for default tank set
      Returns:
        Array of `LiquidTank`s contained in this ITankContainer for this direction

    - #### getTank

          ILiquidTank getTank(ForgeDirection direction,
                            LiquidStack type)

      Return the tank that this tank container desired to be used for the specified liquid type from the specified direction
      Parameters:
        `direction` - the direction
        `type` - the liquid type, null is always an acceptable value
      Returns:
        a tank or null for no such tank