Pump
alaindustrial:pump
Summary
Status: a public block — present in the creative tab, has a crafting recipe, GUI, and is visible in JEI/REI. It's one of the most energy-hungry machines in the mod (1000 EU/FE per bucket).
The Pump is an EU/FE-powered LV machine that moves fluids. It finds a lava or water source in the world (starting at the block in front of it and following the flow outward), or draws fluid from an adjacent tank, banks it in an internal 10-bucket tank, and pushes it on into any neighbouring receiver tank. The tank holds only one fluid at a time: if it already contains lava it won't accept water (and vice versa) until it empties. Mixing is ruled out on purpose — you can't accidentally dump two fluids into one pipe. The main use case is feeding the Geothermal Generator with lava through a pipe instead of hauling buckets by hand; the pump also moves water for future fluid chains.
Energy
The pump is a pure energy consumer: it takes EU/FE in, emits none, and spends 1000 EU/FE per bucket it draws.
| Field | Value |
|---|---|
| Role | consumer with buffer |
| Buffer (EU/FE) | 4000 (`Config.) — above, to bank enough for ≥4 buckets at once |
| Max input (EU/FE/tick) | 32 (LV) |
| Max output (EU/FE/tick) | n/a (does not emit) |
| EU/FE per bucket | 1000 (`Config.) — one of the most energy-hungry machines |
The pump connects to the energy network like any consumer — the energy network finds it automatically. Energy is only spent on the tick when fluid was actually taken from the world or a neighbouring tank; filling by hand with buckets and pushing into a receiver cost no EU/FE. As an LV machine the pump accepts up to 32 EU/FE per tick. At 1000 EU/FE/bucket and a 32 EU/FE/tick limit, filling the buffer for one bucket takes ~32 ticks; the 4000 EU/FE buffer holds the cost of 4 buckets, so even under bursty energy supply the pump rarely idles. Per-face energy role. The pump draws EU/FE on its five working faces; the front face is energy-inert (no port there), like every other horizontal machine. A cable therefore draws an arm toward the five working faces only — not toward the front. Fluid intake is a separate subsystem and still reads the front face directly (see Intake), so the front being energy-inert does not change which way the pump draws fluid from.
Processing
The pump doesn't use the recipe system: it doesn't process items, it moves fluid. Each working tick runs three steps.
| Step | Action | Condition |
|---|---|---|
| 0. Buckets | empty a fluid bucket from the input slot into the tank | the input slot has a lava/water bucket, the tank can accept, the output slot is free for the empty bucket |
| 1. Intake | take 1 bucket of fluid into the tank | energy.amount ≥ AND the tank has room for a bucket AND scanCooldown ≤ 0` |
| 2. Push | push fluid from the tank into neighbouring receivers | the tank has fluid |
Intake. The pump looks for fluid starting at the block directly in front of it (the face it points at the player). If that block is lava/water itself, or a connected flowing puddle of it, the pump follows the flow to the nearest source. If there's no fluid in the world there, it tries to draw a bucket from a neighbouring tank. Limits on the world source search: Radius: up to 32 blocks from the pump; Visited cap: up to 512 blocks per scan (lag protection on large spills); Cooldown: 1 second (20 ticks) between search attempts — both after a hit and after a miss. A found source (lava or water) is pulled into the tank by the bucket, and the source block in the world is irrevocably removed (drained). Flowing, non-source fluid is not pumped — it only leads the search to the source, and once the source is gone it settles back by vanilla fluid rules. If the tank already holds a different fluid, the search doesn't even start — the pump won't waste a tick. Push. The pump pushes fluid out in every direction except the one it just drew from (so it doesn't pump back into the source), and tries to empty the whole tank in one tick to any neighbouring receiver — for example the Geothermal Generator's tank. While working the pump lights up (lit on any tick where something happened — intake, push, or a bucket fill).
Inventory
Two slots for buckets — for manually pouring fluid into the tank. This isn't the pump's main way of working, just a handy convenience.
| Slot | Accepts | Count |
|---|---|---|
| Input (0) | lava bucket / water bucket (Items.LAVA_BUCKET, Items.WATER_BUCKET) | 1 |
| Output (1) | empty bucket (Items.BUCKET, extraction only) | up to a stack |
Filling via buckets: a bucket from the input slot is emptied into the tank (1 bucket = 1000 mB), the empty bucket drops into the output slot — same as the Geothermal Generator. This costs no EU/FE (manual fill, not the pump). Hoppers can take empty buckets out of the output slot and put fresh fluid buckets into the input slot.
Internal tank
| Field | Value |
|---|---|
| Implementation | neutral (in common, works on Fabric and NeoForge) |
| Capacity | 10 buckets (FluidAmounts.BUCKET * 10 = 10000 mB) |
| Accepts | allowlist: lava + water (canInsert → isPumpableFluid) |
| Mixing | forbidden — the tank is single-variant: while it holds one fluid, the other is rejected (guaranteed by the core's .insert) |
| Extraction | allowed from any side (canExtract → true) |
| Access | per-face via a neutral FluidPort; published on Fabric via the Fluid Transfer API, on NeoForge via the fluid capability |
Single-variant guarantee. The tank holds at most one fluid at a time. If empty, it accepts any from the allowlist; if it already holds lava, water is rejected (and vice versa) until it empties. Mixing fluids by accident is impossible — it's built into the tank itself. Unit of volume — the millibucket (mB). Inside the tank everything is counted in millibuckets: 1 bucket = 1000 mB, and the tank's capacity is 10 000 mB (those same 10 buckets). This value is identical on Fabric and NeoForge — the player sees exactly the same volumes regardless of loader. Persistence and migration. After a reload the tank restores both its volume and its fluid type. Worlds saved under the older version of the pump (lava-only) are picked up correctly: if any fluid is present it's read back as lava — the only one the old tank knew.
Interface
The pump has a graphical screen with two slots (for buckets) and two indicator bars. Type: GUI with two slots (buckets) and two bars: Left — fluid level in the tank (grows bottom-up). The sprite colour depends on the fluid type: red for lava, blue for water. Right — energy buffer. A tooltip on hover shows the volume in mB / fluid type and the EU/FE / buffer capacity. Block state: the pump turns to "face the player" when placed (that face is where it draws fluid from) and lights up while working.
Block Properties
An ordinary solid block: a pickaxe breaks it, and on break it does not keep its energy charge (the tank and its fluid are kept — see Internal tank).
| Field | Value |
|---|---|
| Shape | full 16³ cube (occluder) |
| Hardness | 3.0 |
| Blast resistance | 6.0 |
| Tool | pickaxe |
| Sound | metal |
| Drops with NBT energy | false |
Recipes
One workbench recipe: an iron casing, two buckets, and an Electronic Circuit. Crafting:
{
"type": "minecraft:crafting_shaped",
"category": "redstone",
"key": { "I": "minecraft:iron_ingot", "B": "minecraft:bucket", "E": "" },
"pattern": ["IBI","IBI","IEI"],
"result": { "id": "" }
}
The two buckets in the pattern reflect what the block does — moving fluid; the Electronic Circuit sets the machine's LV tier.
Progression
An early LV machine — placed once a stable generator and an Electronic Circuit for crafting are available. It frees you from hauling lava buckets by hand. Tier: LV Power: from an LV source, e.g. the Generator. Purpose: automatically feeding lava to the Geothermal Generator as a fluid instead of by hand; moving water for future fluid chains. Requires: an Electronic Circuit to craft.
Compatibility
The pump has no processing recipes, so recipe viewers show only its crafting recipe. Tooltip mods can optionally show the energy level and the tank fill. Recipe viewers (JEI/REI/EMI): crafting only (the pump has no processing recipes). Tooltips (Jade/The One Probe): energy level and tank fluid level (desirable).
Related
Geothermal Generator — the main consumer of the pump's lava. Generator — the typical LV power source for the pump. Components — the Electronic Circuit for crafting.
Crafting
Shaped Crafting
▶
Pump