Tank

The Tank (BlockTank / TileTank) is a single-block fluid storage unit that supports per-side IO mode configuration. It is not a multiblock — each tank stands alone but can be piped via fluid conduits.

Core Blocks

  • Block: crazypants.enderio.machine.tank.BlockTank
  • Tile: crazypants.enderio.machine.tank.TileTank
  • ModObject: blockTank (item: blockItemTank)
  • GUI: GuiTank (container: ContainerTank)

Fluid Capacity

Block Metadata Capacity
0 (Normal) 16,000 mB
1 (Double) 32,000 mB

The capacity is set at construction time based on block metadata (set when the block is placed). The double-capacity variant is crafted differently.

Per-Side IO Mode

TileTank extends AbstractMachineEntity and supports IoMode per face:

Mode Behaviour
PULL Receives fluid from the adjacent block
PUSH Pushes fluid to the adjacent block
PUSH_PULL Both push and pull
DISABLED No fluid transfer

IO mode is toggled via the GUI (GuiTank) or programmatically via setIoMode(face, mode).

Fluid Transfer Rates

  • IO rate: IO_MB_TICK = 100 mB/tick — maximum fluid transferred per side per tick.
  • Transfer is throttled via shouldDoWorkThisTick() (every 20 ticks, so ~2,000 mB/second effective).

Void Mode

TileTank supports three void modes for the optional item slot:

Mode Behaviour
NEVER Never void items
HOT_FLUID Void items when held fluid temperature > 973K (lava)
ALWAYS Always void items in the void slot

This is used for converting lava into items via the void slot (slot index 2).

Energy / Data Flow

  • No power consumption — passive fluid I/O.
  • IFluidHandler: Implements standard Forge fluid handler interface.
  • ITankAccess: Allows external access to the internal SmartTank.
  • IComparatorOutput: Returns signal strength 0–15 proportional to fill ratio.
  • Container support: Drains/fills standard buckets, bottles, and IFluidContainerItem items via slots 0 (input/drain) and 1 (output/fill).
  • Lighting: Updates block light when fluid type changes (EnumSkyBlock.Block).

Rendering

  • TankFluidRenderer renders the fluid level inside the tank.
  • TankItemRenderer renders the item form of the tank.
  • The block uses custom rendering (not a standard cube) to show the fluid interior.
  • Comparator output is synced to block metadata changes via worldObj.func_147453_f.

Recipe

The normal tank is crafted with铁, glass, and a iron bars frame. The double tank uses铁, dark steel, and glass.

See Also