Framework allowing locomotives to run on fluid fuel, pumped directly into the locomotive. Continuation of fluidTrains by ksmonkey123 (MIT), with lineage credit to evildogbot100, FuryOfTheStars and archiehalliwell. Adds no locomotives itself; content mods register via the fluidTrains_hook remote interface.
Lua libraries for use by other mods and submods that are parts of a larger mod.
Version: 2.0.2
Date: 2026-07-16
Features:
- New addLocomotive option fluid_in_burner = false (default true = classic behaviour): the
framework no longer writes its fake fuel item into the burner for such locomotives. The proxy
tank is the single source of truth for the fluid; while the train moves (no tank), the amount
persists in framework storage. Lets content mods burn REAL fuel items natively in the burner
while the fluid (e.g. water) stays pure cargo that the engine can never consume.
- New addLocomotive option fluid_categories = {...}: declares which registered fluid categories
a fluid_in_burner=false locomotive connects to (its burner no longer carries the fluid's fuel
category, so pump connectivity needs the registry key spelled out).
- New remote functions on fluidTrains_hook (existing 1.1 signatures unchanged):
getFluid(unit_number) -> {name, amount, temperature} or nil, and
setFluid(unit_number, amount) -> bool. Work while stopped (proxy tank) and at speed
(persisted record).
Bugfixes:
- Mining a registered locomotive no longer wipes the entire burner inventory; only the
framework's own registered fake fuel items are scrubbed. Real fuel items (e.g. coal in a
fluid_in_burner=false locomotive) are now refunded by vanilla mining as normal.
Note: control-stage only; a save reload is enough after updating.
Version: 2.0.1
Date: 2026-07-15
Bugfixes:
- Fixed a corrupted file in the 2.0.0 release package that crashed the game on load. If 2.0.0 failed for you, this version resolves it.
Changes:
- Republished as Fluid_Trains_Continued (was fluidTrains_continued) to match the Continued family naming; the old listing is deprecated.
- License attribution updated.
Version: 2.0.0
Date: 2026-07-15
Features:
- Ported to Factorio 2.0 (continuation of fluidTrains 0.18.7 by ksmonkey123, MIT).
- Remote interface "fluidTrains_hook" kept unchanged: addLocomotive, addFluid, removeFluid, dumpConfig.
- Pump connection visuals: the pump's own connector arm deploys onto the locomotive when a fluid connection forms, and retracts when the train departs (new - the 1.1 original had no connection visuals).
- Departure hold: like fluid wagons, a train with deployed pump arms cannot leave (scheduled or manual driving) until the arms finish retracting.
- Automatic reconnection: pump connectivity is re-checked while a locomotive is stopped, so pumps that receive fluid after being built now connect (fixes a workflow trap in the original).
- Pump detection now matches any entity of type "pump", so modded pumps work.
- Debug commands: /fluidTrains-dump, /fluidTrains-probe, /fluidTrains-refresh, /fluidTrains-cleanup.
Changes:
- global -> storage, 2.0 get_contents() array format, event.entity rename, prototypes.* accessors, 16-way directions.
- Proxy tank prototypes rebuilt for 2.0 (fluid_box.volume, {direction, position} pipe connections, collision_mask layers).
- Bundled 1.x stdlib removed.
Bugfixes:
- Fake fuel item scrubbing now uses the fluid registry instead of a prototype-group comparison that could never match (dead code in the 1.1 original).
- An unregistered fluid reaching a proxy tank no longer crashes the game (latent crash in the 1.1 original).