Throughput

Factorio-style production stats for any factory. Group containers, then read per-item rates over 1m to 10h, sparkline history and bottleneck alerts with time-to-empty in chat. Works with modded storage. Server-side; vanilla clients can join.
banner.png

banner.png

gallery-night.webp

gallery-night.webp

stats.webp

stats.webp

alerts.webp

alerts.webp

watch.gif

watch.gif

Description

Throughput: Factorio-style production stats for any Minecraft factory

Throughput

Factorio-style production statistics for any Minecraft factory.

You built the smelter array. Is it keeping up? Which input runs out first? Which output chest is backing everything up? Throughput answers with numbers instead of guesses: group a factory's containers once, then ask for per-item rates, history and alerts right in chat.

Server-side only. Players join with a vanilla client.

Features

  • Per-item rates produced and consumed per minute, over the last 1m, 10m, 1h or 10h.
  • Sparkline history next to every item, rendered in chat.
  • Bottleneck alerts: outputs that are full and backing up, inputs that ran dry, containers that went missing, and inputs about to run out with a time-to-empty estimate.
  • Live ticker on your action bar while you build or tune a line.
  • Any container: chests, barrels, furnaces, hoppers, and modded storage that exposes Fabric item storage (most tech mods do).
  • Accurate by design: moves between containers of the same factory cancel out, unloaded or broken containers never count as consumption, double chests never double count.
  • Survives restarts: history follows game time and is saved with the world.
  • Safe on public servers: anyone can read stats, only operators change factories, and coordinates in alerts are only shown to people allowed to see them.

What it looks like

Real output from the six-furnace floor in the screenshots below (one line jammed on purpose, one short on ore):

Factory smelter | last 10m (sampled 2m 30s) | 30 containers
Produced per minute
  +32.4 Iron Ingot ██████▇▇▇▇▇▇▇▇▇
Consumed per minute
  -32.4 Raw Iron ██████▇▇▇▇▇▇▇▇▇
  -2.0 Coal ▁▁▁▁▁▁▁█▁▁▁▁▁▁▁
Alerts for smelter (10)
  BLOCKED 1 container full for 2m 31s (whatever feeds it backs up): 5 -60 8
  RAN DRY 8 containers empty, longest 2m 29s (what they feed stalls once buffers drain): -5 -57 8, -5 -56 8, -3 -56 8 (+5 more)
  RUNNING OUT Raw Iron empty in about 18m 50s

In game it is colour coded: green for produced, red for consumed, aqua sparklines, and a colour per alert kind.

Stats report in chat

Alerts report in chat

Live ticker on the action bar

Gallery

The test factory: six furnace lines of chest, hopper, furnace, hopper, chest, 30 containers tracked as one factory.

The smelter factory at night, every furnace lit

Six identical furnace lines under one roof

One furnace line up close

Quick start

/flow factory create smelter
/flow addarea smelter ~-4 ~-1 ~-4 ~4 ~2 ~4
/flow stats smelter 10m

Commands

/throughput and the short alias /flow are the same command.

Command Who What it does
factory create <name> operators New factory in your current dimension
factory delete <name> operators Delete a factory and its history
factory list everyone List factories
add <factory> [pos] operators Track the container you look at, or the one at pos (double chests: both halves)
addarea <factory> <from> <to> operators Track every container in a box
remove <factory> [pos] operators Stop tracking a container
stats <factory> [1m\|10m\|1h\|10h] everyone Top produced and consumed items with rates and sparklines
alerts <factory> [all] everyone Blocked, ran dry, missing and running out, grouped by kind; all lists every container (coordinates for operators only)
watch <factory> everyone Live ticker on your action bar
unwatch everyone Stop the ticker
reload admins Re-read config/throughput.json

With a permissions mod such as LuckPerms, the nodes throughput.use, throughput.manage, throughput.coordinates and throughput.admin take over from the operator levels (defaults 0, 2, 2, 3, configurable in config/throughput.json).

How it counts

Every second of game time, Throughput reads each tracked container and adds up the per-item change. The sum is the factory's real net production.

  • Internal moves cancel out. A hopper moving ore from one tracked chest into a tracked furnace is a minus in one place and a plus in the other. Only smelting, crafting, and items entering or leaving the factory change the totals.
  • No phantom consumption. A container that unloads or breaks contributes nothing, so an unloaded chunk never looks like your factory ate everything. It shows up as MISSING in alerts instead.
  • Double chests count once. Adding a double chest tracks both halves, and each half is read on its own.
  • Game time, saved with the world. Rates are per minute of game time and history survives restarts and pauses.

For server owners

  • Fast: a factory of 4,096 chests samples in about 1.75 ms (median, measured with tools/benchmark.sh).
  • Your data stays safe: if saved data is from a newer version, unparseable, or cut short by a crash, Throughput backs it up, never overwrites it, and goes read-only until you sort it out.
  • Config in config/throughput.json, applied with /flow reload:
{
  "sampleIntervalSeconds": 1,
  "alertAfterSeconds": 10,
  "runningOutHorizonMinutes": 60,
  "maxContainersPerFactory": 4096,
  "maxAreaBlocks": 32768,
  "permissionLevels": { "use": 0, "manage": 2, "coordinates": 2, "admin": 3 }
}

Compatibility

  • Minecraft 26.3, Fabric Loader 0.19.5+, Fabric API (required), Java 25.
  • Server: required. Client: optional (vanilla clients can join).
  • Works with modded containers that expose Fabric item storage (the Transfer API).
  • Tracks items. Fluids and energy are not tracked yet.

FAQ

Do players need to install it? No. It runs on the server and sends plain chat and action-bar text.

Will it slow my server down? It only reads the containers you add, once per second of game time, and each factory samples on its own tick. A factory of 4,096 filled chests takes about 1.75 ms per sample (median, measured with the benchmark in the repository). Server owners can cap addarea box size and containers per factory in the config, and /flow factory list shows the cost on your own hardware.

Does it work with my storage mod? If the block exposes Fabric item storage, yes. Most tech mods do.

Fluids or energy? Not yet.

Are enchanted or renamed items tracked separately? No. Items are grouped by item id.

Can it run in singleplayer? Yes. Install Fabric Loader for 26.3, put Throughput and Fabric API in your mods folder, and open a world with commands allowed.

Credits

Throughput bundles fabric-permissions-api by lucko (MIT) for permission nodes; its licence ships inside the jar. Throughput itself is open source under the Apache License 2.0.

Links

Licensed under Apache-2.0.

NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.

Throughput Team

profile avatar
  • 3
    Projects
  • 32
    Downloads

More from razekteixeira

  • Roofwright project image

    Roofwright

    Whole roofs in one click: detects your building's outline from the wall tops and builds gable, hip, mansard, gambrel, cone and more from stairs and slabs, hips and valleys right. Preview, undo. Server-side.

    • 7
    • October 9, 2026
  • Living Reefs project image

    Living Reefs

    Coral reefs that live: coral spreads, bleaches near heat and recovers. Server-side, vanilla clients can join.

    • 13
    • October 9, 2026
  • Roofwright project image

    Roofwright

    Whole roofs in one click: detects your building's outline from the wall tops and builds gable, hip, mansard, gambrel, cone and more from stairs and slabs, hips and valleys right. Preview, undo. Server-side.

    • 7
    • October 9, 2026
  • Living Reefs project image

    Living Reefs

    Coral reefs that live: coral spreads, bleaches near heat and recovers. Server-side, vanilla clients can join.

    • 13
    • October 9, 2026