The Factorio calculator. Calculate the quantities of machines and ingredients required in a factory to hit your target production rate.
Providing the player with new tools or adjusting the game interface, without fundamentally changing gameplay.
Version: 0.6.3
Date: 2026-06-11
Bugfixes:
- Fix a crash when adding the mod to a save that already has players, where
on_init built the docked Build assistant (which reads force solution state)
before storage.forces was initialized. Force data is now set up first.
Version: 0.6.2
Date: 2026-06-04
Gui:
- Wrap the right-panel Constraints list and results section (final products,
initial ingredients, build totals) each in its own fixed-height
scroll-pane, so they no longer overflow the main window as they grow.
Bugfixes:
- Keep an over-produced bridged fluid on its exact point temperature, so a
temperature-range variant that exists only as a bridge target no longer
absorbs surplus and leaks a range (e.g. steam 15-100) into Final products.
- Stop trace IPM-residual recipes (left at ~1e-9 instead of exact zero by
the interior-point solver) from surfacing their materials as phantom
"0.0" entries in Final products and Initial ingredients, by hiding any
material whose entire throughput is negligible against its column's real
scale.
Version: 0.6.1
Date: 2026-06-03
Gui:
- Give burnt-fuel residues (spent cells, ash) their own "Recipes for spent
fuel" picker section, so a common combustion residue no longer floods the
product list with hundreds of unrelated recipes.
Bugfixes:
- Flag a material in deficit even when its cycle is fed from outside, as long
as every producer of that material sits inside the cycle, so the solver
runs the real recipes instead of fabricating the target and building
nothing (a pyanodon ash loop).
Version: 0.6.0
Date: 2026-06-03
Features:
- Add a Build assistant panel that lists every machine and beacon the
solution needs, each with a pipette button to grab it for placement and
a Done/TODO column to track progress. A Blueprint mode puts a temporary
blueprint on the cursor for robot placement, while a Manual mode hands
you the actual item for the early game before construction robots. It
opens by default for new players.
- Add user-placeable external source and sink recipes, in the External
tab, that supply or consume an item, fluid, or heat without limit -- a
manual lever for setting factory boundaries and for steering the solver
away from a degenerate loop solution.
- Add translations for the top 10 Steam languages.
Changes:
- Filter the recipe and fuel pickers by fluid temperature, and let the
Fuel section pick a fluid fuel's temperature so the fuel and power
figures use the exact heat instead of assuming the best case.
- Emit a fuel's spent result (e.g. used-up uranium fuel cells) as a
machine output, so a nuclear reprocessing loop now closes.
Gui:
- Add contextual in-game help: a next-step hint below the editor's
production table and a one-line description under each dialog's title.
- Add click-action tooltips to the GUI sprite-buttons.
- Let the constraint list be reordered by hand with per-row up/down
buttons.
- Show the instantaneous power draw in watts in power tooltips, alongside
the existing per-time-unit energy caption.
Bugfixes:
- Solve a self-sustaining loop instead of misreading it as short on
material and bypassing its recipe chain (a Gleba seed/plant cycle), and
bootstrap an asteroid-reprocessing upcycle that previously sat idle
because a starved base material went undetected.
- Converge on a closed loop that has no external outlet (e.g. a
self-contained fusion loop) instead of failing to find a solution.
- Honor the extra module slots a machine or beacon gains at higher quality,
showing them in the dialog and counting the modules placed in them.
- Offer a machine for a recipe only when the engine actually lets it craft
it: honor fixed_recipe locks on every machine (not just the rocket-silo)
and a machine's item-ingredient count limit. Machines that disagree on
the count limit split into per-tier rows in the preset dialog.
- Persist the machine choice for a recipe craftable only by several
machines that all lock to it via fixed_recipe, through a new
"Fixed-recipe machines" preset section (hidden when no recipe needs it).
- Honor an offshore-pump's fluid_box filter so a filtered pump produces its
filter fluid regardless of the tile it sits on (reachable only with
mods); vanilla water pumping is unchanged.
- Skip placeholder "parameter" fluids when generating boiler virtual
recipes, and drop parameter and duplicate entries from the recipe picker.
- Follow the machine's fuel when a production line's machine changes.
- Read a fluid fuel's accepted temperature range from the machine's fuel
input, not its energy-conversion cap, so a machine that accepts fuel
hotter than it can fully use (some modded reactors) no longer shows a
truncated range or filters that hotter fuel out of the recipe picker.
- Carry a fluid's temperature through a Helmod import, so a
temperature-specific fluid no longer loses it on the way in.
- Fix the constraint picker breaking on a very high fluid temperature
(e.g. fusion plasma).
- Divide a mining recipe's required fluid by its mining time, fixing the
reported fluid amount.
- Round slot amounts onto the engine's display grid, and hide a totals
entry only when its net flow is negligible relative to its throughput,
so a constraint of 60 reads "60" and recycling-loop noise no longer
surfaces as a phantom ingredient.
Version: 0.5.2
Date: 2026-05-31
Gui:
- Hide the auto-generated "parameters" category from the machine presets
dialog, where it just duplicated every real machine.
- Note on the rocket-silo power cell's tooltip that its draw is the
full-power maximum, not the launch-cycle average (the launch
animation's phase lengths aren't readable at runtime).
Bugfixes:
- Round the amount slot numbers off the solver's relative residual
instead of a fixed absolute pad, so a rate like 60/s solved to
59.9999996 no longer truncates to 59. Large throughputs were most
affected.
- Apply a beacon's profile when scaling its module effects, so machines
reached by many beacons are no longer over-credited by ignoring the
per-beacon diminishing returns. beacon_counter ("total" vs
"same_type") is now honored.
Version: 0.5.1
Date: 2026-05-30
Gui:
- Add a fuel quality selector to the machine settings dialog's Fuel
section, mirroring the machine quality row. Gated to item fuels,
since fluid fuels are pinned to normal quality.
- Resolve a production line's fluids before rendering the per-line
product / ingredient slots, so a bare ingredient shows its
[default, max] temperature range and a bare product shows its
default temperature. A blank temperature label now unambiguously
means a temperature-agnostic (aggregate) constraint.
Bugfixes:
- Read a generator's accepted steam range from its input fluidbox
temperature filter instead of the machine's energy-conversion cap,
so hotter fuel (e.g. a 100-5000 C turbine) is no longer barred.
- Derive a picked fluid fuel's temperature from the machine's intake
range rather than the clicked reference material, so creating a
line via the fuel category no longer pins the fuel to the
producer's temperature (e.g. steam@165 limiting a generator to
that single temperature). Only new lines are corrected.
- Decode scientific-notation fluid temperature keys (e.g. fusion
plasma at 1e6-1e7 C), which previously failed to parse and resolved
to a temperature-less virtual material bound to no recipe.
Version: 0.5.0
Date: 2026-05-28
Features:
- Import / export solutions as a shared string, with multi-solution support.
- Bidirectional interop with Factory Planner via its shared-string format.
- Bidirectional interop with Helmod via its shared-string format.
- Accept arithmetic expressions (e.g. `1k+50`, `60/4`) in constraint amount
fields.
Changes:
- Route quality multiplier calculations through Factorio 2.0's per-prototype
quality runtime APIs instead of assuming the vanilla 1 + 0.3 x tier
constants. Per-second throughputs for virtual recipes (boilers, reactors,
generators, fusion-*, thrusters, offshore-pumps, mining, plants, labs) are
now derived from the engine, honoring mods that customize quality scaling.
- Cap quality cascade decomposition at utility-constants maximum_quality_jump
tiers above the source quality, so mods that lower the cap are respected.
- Extract hardcoded UI strings into the locale file in preparation for
translation.
Gui:
- Replace the module and beacon choose-elem-button with custom pickers that
mark modules whose effects are masked by the current recipe or machine's
allowed_effects / allowed_module_categories with a warning overlay and a
tooltip, while still allowing the pick.
- Mark already-set modules whose effects are fully masked by the current
recipe / machine with a top-right warning overlay, and surface a tooltip
on the row.
- Add Shift+Click clipboard for module sets in the machine settings dialog
and for full machine settings on the production line row.
- Add a quality multi-select on bulk recipe addition.
- Use an engine-style tool_button row for the quality selectors.
- Open Factoriopedia on Alt+left-click of elem_tooltip buttons.
- Tag research and spoilage virtual recipes with category overlays, and use
the pre-spoilage item icon for spoilage entries.
- Custom shortcut icon and lowercase "S" thumbnail.
Version: 0.4.4
Date: 2026-05-28
Gui:
- Wrap the machine settings dialog content in a scroll-pane so the
Confirm button and lower sections stay reachable when many compatible
machines or beacon rows push the dialog past the screen edge.
Bugfixes:
- Honor the current research's research_unit_energy when computing the
lab science-pack rate, fixing the solver under-estimating required lab
counts by roughly 30x in the vanilla case.
- Skip parameter fluids when registering fluid-temperature virtual
materials, so parameter-0 .. parameter-9 no longer appear as
selectable entries in the constraint picker's Virtual tab.
Version: 0.4.3
Date: 2026-05-27
Bugfixes:
- Honor LuaRecipePrototype.maximum_productivity, so module, beacon, and
research-bonus contributions can no longer push a capped recipe past
its engine-side productivity limit.
- Honor allowed_effects on both the recipe and the machine (or beacon),
so module effect kinds the engine would reject (e.g. productivity in a
recycler) no longer feed into the LP.
- Honor allowed_module_categories on both the recipe and the machine (or
beacon), so modules from a disallowed category contribute nothing
regardless of their effect kinds.
- Scale the external material source cost per material kind, fixing the
LP collapsing to all-zero whenever heat had to be drawn from a source.
Version: 0.4.2
Date: 2026-05-26
Gui:
- Show a "No configurable items." placeholder in the machine settings
dialog for spoilage virtual recipes, which have nothing to configure.
Changes:
- Keep beacon configuration in storage when the chosen machine cannot
receive beacon effects, so it reappears intact if a beacon-capable
machine is selected later.
- Drop the per-recipe negative cost from the LP objective; reachability
gating, elastic sinks, active-line pruning, and the new IPM together
cover its stabilisation role.
- Charge a small cost on external material sources so the solver prefers
the chain drawing less raw input over arbitrary splits.
Bugfixes:
- Apply the beacon's quality tier to its distribution_effectivity, so
higher-quality beacons boost module effects by the engine-side amount
(vanilla: base + 0.2 per quality level).
- Fix lower and equal constraints being silently violated when the
producer chain emits many unclearable by-products.
- Fix the Substrate section being hidden in the machine settings dialog
for plant production lines (regression from 0.4.1).
Version: 0.4.1
Date: 2026-05-25
Gui:
- Warn in the machine settings dialog when a quality module is set while no
quality above normal is unlocked, since the cascade cannot advance and the
module would have no effect.
Bugfixes:
- Hide the Beacons section and ignore beacon effects for machines that do
not support beacon effects, so beacons can no longer be added to or
affect such machines.
Version: 0.4.0
Date: 2026-05-23
Features:
- Solve quality recycling loops (Space Age) without manual unrolling. (Thank you, Claude!)
- Solve recipe chains dominated by byproducts (e.g. Fulgora recycling) by
gating elastic shortage sources on reachability from raw inputs, so the
solver can no longer bypass producer chains by paying elastic cost.
- Add a fluid temperature dimension: boilers, heat exchangers, generators,
and fusion reactors are split per (fluid, temperature) and bridged automatically.
- Add a Research Bonus snapshot dialog that folds force productivity bonuses
into the solver and unlocks qualities. Qualities above normal start locked,
so their checkboxes must be enabled here before quality modules have any
effect on the quality cascade.
- Add virtual recipes for fusion reactors, fusion generators, thrusters,
agricultural towers, labs (dispatched per consumed pack), per-fluid boilers,
and item spoilage.
Changes:
- Rewrite the interior-point solver as long-step path-following with cold-start
scaling, relative residuals, and retry-on-NaN Cholesky for stable convergence
on deep quality recycling cascades.
- Auto-promote cycle entry materials to basic sources via SCC analysis so that
mass-losing loops with no external input still have a bootstrap.
- Prune production lines isolated from any Constraint out of the LP.
- Dispatch offshore-pump virtual recipes by fluid name instead of a fixed machine.
Gui:
- Surface bare-fluid temperature ranges in the constraint and fuel pickers, and
bind bare-fluid constraints to every temperature variant.
- Use the native sprite-button quality indicator overlay.
- Tear down open GUIs on configuration change to avoid stale references.
- Display the launched-rocket virtual material as a cargo pod.
- Pick the initial filter group deterministically from prototype order.
- Decompose production line slots, totals, and constraints by quality tier.
Bugfixes:
- Fix crash when a production line references a removed prototype.
- Fix tile and resource virtual recipes always reporting as researched, so
planet-locked materials no longer appear in the picker before the host
space location is discovered.
- Fix constraint lookup ignoring quality in solution settings.
- Fix totals double-counting phantom internal flows from the quality cascade.
- Fix IPM instability when the constraint RHS is sub-unit.
- Fix module quality effect ignoring the current tier's next_probability.
Version: 0.3.13
Date: 2024-12-10
Bugfixes:
- Fix the constraints not being migrated.
Version: 0.3.12
Date: 2024-11-28
Changes:
- Reimplement elastic variables to the solver.
Info:
- This change is to revert the increase in loops that fail to compute since version 0.3.7.
Version: 0.3.11
Date: 2024-11-24
Bugfixes:
- Fix not supporting joined fuel categories.
- Fix crash when all objects belonging to a category are hidden.
- Fix crash when some machines have items_to_place_this not defined.
- Fix the recipe not showing when the switch is hide in add production line.
- Fix the order not being retained.
Version: 0.3.10
Date: 2024-11-23
Bugfixes:
- Fix calculation failures in recipes that use large amounts of products or ingredients.
Version: 0.3.9
Date: 2024-11-22
Bugfixes:
- Fix crash when resources with no minable material are defined.
Version: 0.3.8
Date: 2024-11-22
Gui:
- Revert the recipe tooltips back to non-quality-compliant ones,
as the recipe details are not displayed.
Version: 0.3.7
Date: 2024-11-18
Changes:
- Stabilise the solution by spreading the gain/cost value across all recipes.
Gui:
- Change the icon button to wrap in the recipe line editor.
- Change SI suffixes to be added to the Required and Pollution values.
Version: 0.3.6
Date: 2024-11-17
Bugfixes:
- Fix not to consider ignored_by_productivity.
- Fix not to consider extra_count_fraction.
Version: 0.3.5
Date: 2024-11-16
Bugfixes:
- Fix the base_effect in machines not being calculated.
Version: 0.3.4
Date: 2024-11-15
Bugfixes:
- Fix lower limit and equals constraints were not working.
Version: 0.3.3
Date: 2024-11-12
Bugfixes:
- Fix the incorrect calculation of module effects.
Version: 0.3.2
Date: 2024-11-12
Bugfixes:
- Fix space science pack virtual recipes that do not include the satellite ingredient.
Version: 0.3.1
Date: 2024-11-09
Bugfixes:
- Fix the failure to migrate the mining virtual recipe to an unknown recipe.
Version: 0.3.0
Date: 2024-11-08
Features:
- Support machine quality with virtual recipes.
- Add virtual recipes for rocket silos.
- Add virtual recipes for non-water pumping.
- Add virtual recipes for machine using any fluid fuel.
Changes:
- Remove virtual recipe for solar panels.
Not useful because they cannot be part of recipe chain.
Gui:
- Add a tooltip to virtual recipes.
- Be able to select a recipe from fuels.
Bugfixes:
- Fix crash when fluid power is used in boiler.
Version: 0.2.4
Date: 2024-11-06
Bugfixes:
- Fix the silent change of quality to normal when you change the machine.
- Fix prototypes defined as item subclasses being shown as unknown item.
- Fix the shortcut button staying toggled when the main window is closed.
Version: 0.2.3
Date: 2024-11-05
Bugfixes:
- Fix the double effect of speed modules on ingredients.
Version: 0.2.2
Date: 2024-11-04
Bugfixes:
- Fix power consumption that does not reflect the impact of machine quality.
Version: 0.2.1
Date: 2024-11-04
Bugfixes:
- Fix crash when solving unconstrained problems.
Version: 0.2.0
Date: 2024-11-01
Features:
- Add support for quality mechanisms for actual machines and modules.
Bugfixes:
- Fix basic products and final ingredients not showing unresearched.
Info:
- Not yet supported for virtual machine quality.
Version: 0.1.8
Date: 2024-10-31
Bugfixes:
- Fix crash when solutions are loaded that are not solver ready.
- Fix crash when materials or fuel are used that have been deleted from the save.
Version: 0.1.7
Date: 2024-10-30
Bugfixes:
- Remove log contamination.
- Fix crash when no fluid filter is defined in generators.
Info:
- A virtual recipe for machine using any fluid fuel has not yet been implemented.
Version: 0.1.6
Date: 2024-10-25
Bugfixes:
- Fix crash on initialization.
- Fix more and more crashes on migration failure.
- Fix more any crashes with mod configuration changes.
Version: 0.1.5
Date: 2024-10-24
Gui:
- Change timescale to match statistics.
- Change the machine setup to not normalize when confirmed.
Bugfixes:
- Fix more crashes on migration failure.
- Fix any crashes with mod configuration changes.
Version: 0.1.4
Date: 2024-10-23
Bugfixes:
- Fix crash on migration failure.
Version: 0.1.3
Date: 2024-10-23
Bugfixes:
- Fix items used in hidden but enabled recipes that have been researched.
Version: 0.1.2
Date: 2024-10-22
Gui:
- Hide categories with less than one element in machine presets.
Bugfixes:
- Fix crash when opening machine presets.
- Fix crash caused by wrong sprite path in resource virtual recipes.
Version: 0.1.1
Date: 2024-10-22
Gui:
- Add shortcut button. (Icon is temporary)
Bugfixes:
- Fix the crash when adding this mod to an existing save.
Version: 0.1.0
Date: 2024-10-22
Info:
- Initial release.