Pick a size and see how much fluid or chemical the tank holds, what to build it from, how long it takes to fill and what a comparator reads. Or type a capacity and get the smallest tank that holds it. Every number comes from Mekanism's TankMultiblockData and its multiblock validator.
Drag to rotate. Right-drag, Shift-drag or two-finger drag to pan. Scroll or pinch to zoom.
Build from the bottom up. Step through the layers with ◀ ▶ on the 3D view; it hides everything above the layer you're on.
The least the tank must hold for each signal strength on a comparator reading a Dynamic Valve.
Glass and casing hold the same amount; glass only lets you see in. Valves go on the bottom row of the front face first.
Fill rate in mB per tick, whatever your pipes, tubes or pump deliver. Chemicals are gases, infuse types, pigments and slurries.
Outside size, walls included: 3 to 18 blocks each way.
Put the file in .minecraft/schematics to load it with Create's Schematic Table or Litematica, or in saves/<world>/generated/minecraft/structures to load it with a structure block.
Capacity uses the tank's outside volume, walls and all, not the air inside. A 3×3×3 tank has one block of air in it and still holds 9,450 buckets.
volume = length × width × height capacity = volume × fluidPerTank (350,000 mB)MultiblockData.setShape · TankMultiblockData.setVolume
The tank is one fluid tank and one chemical tank merged together. Only one can hold anything at a time. The chemical side holds 16,000,000 mB per block, about 46× the fluid side.
fluid = volume × 350,000 mB chemical = volume × 16,000,000 mBTankMultiblockData (MergedTank)
Every edge position needs a frame block, and only the Dynamic Tank block counts as frame. Dynamic Valves and Structural Glass are fine anywhere on the faces.
edge: Dynamic Tank only face: Dynamic Tank, Dynamic Valve, Structural Glass inside: air onlyTankValidator · CuboidStructureValidator.validateFrame
A comparator on a Dynamic Valve reads the fill level; the plain tank blocks give nothing. Any amount at all gives 1, and 15 means completely full.
f = stored / capacity signal = floor(f × 14) + (f > 0 ? 1 : 0)MekanismUtils.redstoneLevelFromContents
Tanks are 3 to 18 blocks on every side. The biggest holds 2,041,200 buckets of fluid. The config caps fluidPerTank at 368,224 so that tank's capacity still fits in a Java int.
max fluidPerTank = 2,147,483,647 / 18³
= 368,224
CuboidStructureValidator · GeneralConfig
You only place the shell, and a cube encloses the most volume for the fewest wall blocks. A 10×10×10 tank takes 488 blocks for 350,000 buckets; a flat 3×18×18 takes 716 blocks and holds less.
blocks = L×W×H − (L−2)(W−2)(H−2)geometry