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 internalSmartTank.IComparatorOutput: Returns signal strength 0–15 proportional to fill ratio.- Container support: Drains/fills standard buckets, bottles, and
IFluidContainerItemitems via slots 0 (input/drain) and 1 (output/fill). - Lighting: Updates block light when fluid type changes (
EnumSkyBlock.Block).
Rendering
TankFluidRendererrenders the fluid level inside the tank.TankItemRendererrenders 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.