#DELIVERY_DRONES_UPDATE: Now deliver goods to your neighbors via disposable drone! #TRADE_ROUTES_UPDATE: Contract goods to buy or sell and get cash-on-delivery! Automatic ledger! Multiplayer and single player trade, market, ledger and currency. Fully functioning economy system for Factorio. *Make and accept offers from other players * Supply/demand based economy * Automate purchases and sell excess goods for FLUX.
Mods introducing new content into the game.
Version: 1.1.31
Date: 2026-09-01
Fixes:
- Restore the absorbed Cargo Drone item, recipe, and a trimmed Disposable Cargo Drones technology; the recipe retains the original 20 engine unit + 40 low-density structure + 1 radar material cost.
- Make disposable drones mechanically real: posting a Cargo Drone listing now reserves one crafted drone in addition to the cargo, cancelling the unsold listing returns it, and launching the shipment permanently consumes it.
- Add clear listing feedback when a seller selects Cargo Drone delivery without a disposable drone available.
Version: 1.1.30
Date: 2026-09-01
Fixes:
- Fixed a server-crashing Sundry's merchant GUI error when opening a Zed/depot with multiple purchase offers.
- Sell buttons in the shared offer table now use unique per-row GUI element names; Factorio does not allow sibling GUI elements to reuse the same explicit name.
- The Sundry's click handler accepts the new row-specific Sell button names while retaining compatibility with the old base name.
Version: 1.1.29
Date: 2026-08-30
Features:
- Manual FluxMart purchases now open a compact quantity dialog with item, stock, estimated unit price, total price, and post-purchase balance.
- Quantity changes recalculate the purchase summary immediately and validate stock and available Flux before enabling Purchase.
Changes:
- Automatically discovered ammo now defaults to a 100-item FluxMart batch instead of 1; existing automatic ammo rows still at the old 1-item value migrate to 100.
- The FluxMart Batch column is now the default dialog quantity rather than a fixed quantity-per-click restriction.
GUI:
- Successful manual purchases update the affected FluxMart row and balance in place instead of rebuilding the whole Economy window, so the category tab and scroll position no longer jump back to the top.
- Global stock/price changes for the purchased row are refreshed in place for other connected players who currently have that row open.
Version: 1.1.28
Date: 2026-08-29
Fixes:
- Fixed a multiplayer desync in the deferred GZ-Diplomacy warehouse-claim synchronization after configuration changes.
- The one-tick deferred synchronization flag is now stored in synchronized mod storage instead of a non-serialized Lua local, so paused dedicated servers and newly joining clients execute the same state transition.
- Existing warehouse/customs claim reconciliation now processes unit numbers in explicit sorted order.
- Corrected the internal GZ-Economy version constant to 1.1.28.
Diagnostics:
- The supplied desync report showed the server alone registering external claim source external:549808 for a gz-economy-flux-warehouse owned by team_001; the client lacked that source and its resulting territory cells.
Version: 1.1.27
Date: 2026-08-29
Changes:
- Reworked Sundry's generation into a pre-drawn deterministic state machine with 12x12-chunk cells and a 15% candidate rate.
- Expanded the pre-drawn Sundry's grid to roughly 64,000x64,000 tiles around the Nauvis starting position.
- Team/start reservations now exclude every Sundry's cell intersecting a 768-tile radius instead of reserving a fixed 3x3 group of cells.
- Removed the BLOCKED/UNROLLED runtime path. Disabling Sundry's no longer mutates candidate cells or permanently consumes unexplored regions.
- Existing terrain is not scanned or backfilled when Sundry's is enabled; only newly generated chunks can advance WAITING cells to GENERATED.
Performance:
- Normal chunk generation now performs only the setting/surface checks, one direct cell lookup, and a state comparison; random classification is precomputed when the grid is built.
- Chunk deletion ignores all cells unless the deleted chunk directly owns a spawned Sundry's compound.
Migration:
- Existing live Sundry's depots are preserved and remapped into the new grid. Legacy blocked/unrolled cells are replaced by deterministic WAITING/REJECTED states.
Version: 1.1.26
Date: 2026-08-29
Features:
- Added the runtime-global map setting "Disable science in FluxMart and Auto-Buy", enabled by default.
- When enabled, science-category and science-pack listings are hidden from both purchase surfaces and cannot be bought manually or by Supply Depot automation.
- Existing science Auto-Buy rules are preserved but ignored while the setting is enabled, so disabling the option later restores them.
Notes:
- Science can still be sold and can remain in finite market stock; this option only blocks FluxMart/Auto-Buy purchasing.
Version: 1.1.25
Date: 2026-08-26
API:
- Added gz_economy.admin_credit_flux for Gizmod's admin recovery panel.
- The method requires an actual admin player index, validates the target and Flux tier, and credits the selected player's current force/team ledger.
- Admin Flux recovery grants are routed through GZ-Economy's Gizmod debug logging.
Notes:
- No market, pricing, contract, depot, or passive-income behavior changed.
Version: 1.1.24
Date: 2026-08-25
Features:
- Supply Depots and player Customs Warehouses now register through GZ-Diplomacy's external territory-claim API so these container-based structures extend the placing team's territory.
- Existing registered Supply Depots/Customs Warehouses are synchronized to Diplomacy once on the first live tick after init/configuration.
- FluxMart and Auto-Buy tabs are available only while the player is within 16 tiles of a same-force Supply Depot.
- Manual FluxMart purchase handling also revalidates the 16-tile Supply Depot requirement at click time.
- Auto-Buy Save buttons carry the exact Supply Depot unit number that opened/built the row, so rules are always written to that specific depot rather than a stale/nearest warehouse.
GUI:
- Opening a Supply Depot now leaves the native depot inventory open and layers the GZ-Economy interface over it.
- Closing the underlying Supply Depot inventory with E closes the Economy overlay as well.
- Opening another native GUI (including character inventory via E) closes a standalone Economy window.
Compatibility:
- Uses gz-diplomacy.register_external_claim when available; no GZ-Diplomacy prototype names are hardcoded into Economy.
Version: 1.1.23
Date: 2026-08-24
Features:
- Add Batch Size, Base Price (per unit), and Extra Multiplier controls to the top of the admin item price-breakdown dialog.
- Add Apply + Refresh to persist those per-entry FluxMart overrides and immediately rebuild the live pricing breakdown.
Changes:
- Base Price overrides are local to the selected FluxMart catalog row and do not rewrite production recipe values for other items.
Version: 1.1.22
Date: 2026-08-24
Features:
- Absorb Cargo Drone visuals under the retained MIT license; GZ Economy has no Cargo Drone mod dependency or runtime link.
- Add Cargo Drone as a third one-off listing delivery mode with goods reserved when the listing is posted.
- Add a lightweight disposable-drone state machine: 64-tile visible departure, virtual transit at 1,000 tiles/minute, 64-tile arrival, Customs parking/unload, then despawn.
- Prefer seller/buyer-owned same-surface Customs Warehouses and fall back to Sundry's public Customs endpoints with private per-player parcel lockers.
- Settle buyer/seller Flux escrow automatically only after successful delivery; destroyed visible drones fail the transaction and refund the buyer.
Performance:
- Virtual shipments use scheduled arrival buckets and no physical entity, pathfinding, or per-tick long-distance simulation. Only visible departure/arrival drones are actively moved.
Version: 1.1.21
Date: 2026-08-24
Features:
- Add optional Sundry's Export Depots, disabled by default as a map setting.
- Add 24x24-chunk event-driven cell state machine with one 50% roll per cell lifecycle.
- Add five random Sundry's building variants and 20 random Zed merchant names/quips.
- Add west/east neutral Customs sinks using the existing stopped-train delivery detector.
- Add 2-3 permanent premium purchase offers per depot at 3x-5x markup.
- Add chunk-culling reset/despawn/spawn-reservation remote APIs.
- Terraform successful frontier placement candidates by clearing trees/rocks/cliffs and stamping dirt.
Version: 1.1.20
Date: 2026-08-23
Changes:
- FluxMart retail prices now scale linearly with elapsed game time at +2.5% per in-game hour. Production basis values remain unchanged; only final shop pricing and its floor/ceiling move with time.
- Added a one-time, throttled existing-save migration that converts legacy coins held by players and player-force entities 1:1 into Purple Flux deposited directly to the owning force account.
- Added the elapsed-time multiplier to the admin price-breakdown window and exposed it through the gz_economy remote API.
Version: 1.1.19
Date: 2026-08-23
Changes:
- Holmium ore is now the 5 Purple Flux primary price basis; stone is likewise rooted at 5 Purple Flux so the existing 10-Purple stone-brick value and holmium-solution recipe can derive normally from ingredients.
- Increased the main Economy window and its working scroll area by 200 GUI pixels on displays with enough vertical room.
- FluxMart now has category tabs and a simplified Buy | Item | Batch | Stock | Price | Per Unit | Basis layout.
- Removed the redundant 1x quantity from FluxMart item-name cells; bundle quantity is shown only in the Batch column.
- Manual FluxMart purchases now always enter the buying player's main inventory, never the open Supply Depot inventory.
- Supply Depot sales now emit flying-text payout feedback at the depot whenever a sale settlement credits Flux.
- Economy windows now close cleanly through the standard E inventory key path; closing the main Economy frame also cleans up its auxiliary price/config windows.
Version: 1.1.18
Date: 2026-08-23
Changes:
- Barreled-fluid item values now derive from the fluid value plus the empty-barrel/steel material cost, including GZ-Tweaks universal barrels.
- Intermediate fluid prices now derive from their actual recipes wherever upstream price bases exist; sulfuric acid is no longer a hardcoded fluid root and follows 5 sulfur + 1 iron plate + water -> 50 acid.
- Fluid derivation preserves fractional Purple Flux per fluid unit so 50-unit barrel costs remain precise.
- Reverse empty-barrel recipes are excluded from the price graph to prevent reversible packaging loops from collapsing fluid and barrel prices.
- Filled barrels with a fuel_value receive an energy premium of 1 + fuel_value / 100 MJ after their material price is derived; if the item has no fuel_value, the contained fluid's fuel value is used.
- Price-cache diagnostics now expose unpriced fluids and provisional fluid roots for missing natural-resource bases.
- Steam has a zero material basis because water is zero-value and process energy is not priced.
Version: 1.1.17
Date: 2026-08-23
Changes:
- Customs Warehouse rolling-stock detection now supports unusually long train carriages instead of requiring the carriage center to be within the vanilla wagon-sized docking window.
- Cargo Ships boats and cargo ships are recognized through their normal cargo-wagon/locomotive train prototypes, including long cargo-ship bodies that overlap the warehouse scan area while their center lies farther away.
- Compatibility remains generic to all locomotive, cargo-wagon, fluid-wagon, and artillery-wagon prototypes; no hard dependency on Cargo Ships is required.
Version: 1.1.16
Date: 2026-08-23
Changes:
- Added a hard FluxMart stock ceiling of 1,000,000 units per item/quality listing.
- Selling, restocking, external registration, admin-created entries, and existing-save stock normalization all clamp to the same 1,000,000-unit ceiling.
- Market equilibrium bands are also clamped below the hard stock ceiling so pricing diagnostics cannot describe unreachable inventory levels.
Version: 1.1.15
Changes:
- Added the Map setting "Items sold to shop become available in FluxMart", disabled by default.
- When disabled, selling an item that has no existing FluxMart listing no longer creates a market catalog row, preventing arbitrary sold items from entering the automatic restock system.
- Selling items that are already present in FluxMart still adds their sold quantity to normal finite market stock.
- When enabled, the previous behavior is preserved: newly sold item types become FluxMart listings and participate in normal market restocking.
Version: 1.1.14
Changes:
- Reworked depot, ATM, and Customs Warehouse runtime maintenance to use rotating cursors instead of synchronized full-registry scans.
- Supply Depot output refill retains its 30-tick per-depot cadence but rotates depots across simulation ticks instead of refreshing every depot together.
- Auto-buy and auto-sell retain their configured per-depot cadence but are distributed across simulation ticks.
- ATM processing is distributed one terminal at a time.
- Rail verification and recovery scanning now process at most one active train and one Customs Warehouse per tick.
- Customs GUI status refresh is player-staggered and periodic debug flushing is moved off the common 60-tick boundary.
- These changes target large-map rhythmic stutter while preserving event-driven rail detection and economy behavior.
Version: 1.1.13
Changes:
- Added generic runtime FluxMart item registration API for external mods.
- Added single and batch registration calls plus source unregistration.
- External listings use normal GZ-Economy recipe-derived pricing and recipe unlock detection.
- Newly registered listings seed to equilibrium minimum once; re-registration preserves live global stock.
- Added docs/FLUXMART_API.md.
Version: 1.1.12
Changes:
- Fixed the admin Price Debug popup collapsing to only its header.
- Price Debug now receives an explicit adaptive height based on the player's GUI resolution and display scale.
- The breakdown scroll pane explicitly occupies the remaining inspector body so all pricing sections are visible and scrollable on compact displays.
Version: 1.1.11
Changes:
- Added Admin Settings Root Commodity Pricing rows with Configure buttons for every explicitly root-priced item.
- Root editor exposes base price, base quantity, FluxMart retail floor/ceiling, and equilibrium minimum/maximum.
- Base price / base quantity is runtime-authoritative for recipe valuation.
- Changing a root commodity immediately rebuilds downstream recipe-derived item and fluid values.
- Price-cache schema upgraded to v3 and now retains the normalized recipe graph for runtime revaluation.
- Root-specific equilibrium bands override the global band for that root commodity.
- Root-specific retail floor/ceiling override global retail multiplier clamps for that root commodity only.
- Admin price diagnostics display live root overrides and runtime recipe provenance.
Version: 1.1.10
Changes:
- Replaced the single global market equilibrium point with a stock band.
- Default market stock band is 1,000 minimum to 100,000 maximum for most goods.
- Stock at or below the lower bound receives no stock-based discount.
- Stock from the lower bound to the upper bound smoothly drives prices downward from 1.00x to the configured surplus floor.
- Stock above the upper bound remains at the configured surplus floor rather than depressing prices indefinitely.
- Automatic market replenishment only fills shortages up to the lower bound and never replenishes into the discount range.
- Existing 1.1.9 custom equilibrium settings migrate to the lower bound.
- Catalog entries support optional per-item market_stock_min / market_stock_max overrides for future scarce or bulk commodities.
- Admin price diagnostics now show stock state and the effective lower/upper stock band used for the item.
Version: 1.1.9
Changes:
- Supply Depot warehouse sales now settle through the global FluxMart stock pool.
- Default warehouse settlement cadence changed to every 120 ticks (2 seconds).
- Settlement iterates only the registered warehouse registry; no world/surface scan is performed.
- Removed duplicate 30-tick sale processing from the depot output-refill loop.
- Warehouse sale payout is quantity-aware across the global stock curve, preventing large batches from receiving the entire pre-sale price.
- FluxMart auto-buy uses quantity-aware bundle pricing as stock is consumed.
- Global stock changes now invalidate cached FluxMart prices through a stock revision counter.
- Added explicit global equilibrium stock (default 1000).
- Market restock now replenishes shortages toward equilibrium and never adds stock above equilibrium.
- Admins can click item names in FluxMart or Auto-Buy to open a complete live price calculation breakdown.
- Price diagnostics include recipe/root derivation, ingredient components, quality multiplier, markup, admin modifier, mood, supply, demand, event, global stock modifier, clamps, final buy price, and warehouse sell-side calculation.
- Data-stage price cache schema upgraded to v2 with recipe derivation provenance for modded-item debugging.
Version: 1.1.8
Date: 2026-08-20
Changes:
- Added explicit receiving-contract assignment to the Customs Warehouse relative inventory panel.
- Active buyer contracts must be assigned to one specific Customs Warehouse before rail deliveries can settle.
- The Customs panel lists active receiving contracts and supports Assign Contract / Unassign directly beside the normal inventory.
- Assigning a contract previews the exact train scan area for 8 seconds.
- Removed the implicit Bind This Warehouse action from the main Contracts screen.
- Removed script-driven train dispatch after Customs settlement; normal Factorio train schedules control departure.
Version: 1.1.7
Date: 2026-08-20
Bugfixes:
- Fixed a Factorio 2.0 crash when switching a Customs Warehouse rail side: LuaRendering has no is_valid() method.
- Updated scan-preview and Customs arrow cleanup to resolve LuaRenderObject instances and call their destroy() method directly.
Version: 1.1.6
Date: 2026-08-20
Changes:
- Replaced Customs Warehouse INPUT/OUTPUT text overlays with Factorio's standard blue indication-arrow sprites.
- Three arrows now point inward on the rail/input side and outward on the warehouse/output side.
- The train scan-area preview remains tied to the Switch Rail Side control.
Version: 1.1.5
Date: 2026-08-20
Changes:
- Added a Customs Rail Dock panel beside the normal Customs Warehouse inventory GUI.
- Added a Switch Rail Side button without replacing the native container inventory.
- Switching rail side now previews the exact train-detection area on the ground for 8 seconds.
- Refactored rail scanning and scan preview to use one shared geometry function.
- Hardened Customs input/output indicator rendering for the Factorio 2.0 rendering-object API.
Version: 1.1.4
Date: 2026-08-20
Changes:
- Customs Warehouses no longer open the Economy Contracts screen automatically; opening them now shows the normal inventory UI.
- Removed the Customs Warehouse status panel from the main Economy Contracts screen.
- Added in-world INPUT and OUTPUT side indicators to Customs Warehouses.
Version: 1.1.3
Date: 2026-08-20
Changes:
- Replaced Customs Warehouse runtime rotation with two explicit placeable prototypes/items: Wide (6x3) and Tall (3x6).
- Added reciprocal 1:1 conversion recipes so Wide and Tall Customs Warehouses can be reconfigured through crafting without material loss.
- Tall Customs Warehouses now mine back into the Tall item instead of the Wide item.
- Removed the Customs Contracts-panel Rotate button and runtime entity-swap path.
Version: 1.1.2
Date: 2026-08-20
Changes:
- Reworked Contracts into a public freight board: buyers post Goods Wanted and sellers post Goods Available.
- Accepting a posting now resolves the actual buyer and seller instead of requiring a named seller at posting time.
- Contract terms now explicitly require Rail transport provided by either the Buyer or Seller; acceptance resolves that obligation to the actual posting/accepting player.
- Customs rail validation now checks the resolved transport-provider force rather than always requiring the seller force train.
- Replaced color-name currency text throughout the economy UI with the corresponding colored Flux coin icon; physical Flux token names are now simply Flux.
- Migrates legacy unaccepted direct purchase contracts into public Goods Wanted postings while preserving active contracts.
Version: 1.1.1
Date: 2026-08-20
Features:
- Activated automated rail delivery settlement for accepted contracts bound to Customs Warehouses.
- Customs Warehouses scan their configured long-side rail input once per second and also react immediately when trains enter station-wait state.
- Valid seller-force trains enter a 10-second verification lock before cargo movement or payment.
- Added whole-lot cargo transfer from trains directly into the 256-slot Customs Warehouse, with excess/unrelated cargo left aboard.
- Added immediate COD settlement: seller is credited and buyer may be debited below zero through contract debt.
- Added duplicate train/warehouse locks and same-stop blocking so a stopped train cannot settle twice without departing.
- Added automatic next-schedule train dispatch after successful settlement when the train has at least two schedule records.
- Added configurable Customs Warehouse rail-input side and live dock/verification/last-delivery status in the Contracts panel.
Reliability:
- Verification is cancelled if the train departs, the warehouse/contract changes, or train composition changes.
- Cargo transfer rolls back if warehouse insertion or economic settlement fails.
- Dispatch failure never rolls back an otherwise completed COD transaction.
Version: 1.1.0
Date: 2026-08-20
Features:
- Added the 6x3 Customs Warehouse prototype using the supplied front/side artwork, 256 inventory slots, and a Contracts-panel 90-degree orientation swap.
- Added a Contracts tab to the GZ Economy menu with standing purchase-contract creation, seller acceptance, cancellation, and Customs Warehouse binding.
- Added persistent contract and delivery IDs/state plus a COD settlement primitive for future rail/boat transport adapters.
- Added contract-authorized debt accounting: COD settlement can debit a buyer below zero while crediting the seller immediately; later Flux credits pay down debt before becoming spendable.
- Customs Warehouses open directly to Contracts and are kept separate from Supply Depot auto-sell/autobuy processing.
Notes:
- Rail train detection, the 10-second verification timer, cargo transfer, and train dispatch are not active in this build yet; the contract/accounting foundation is wired for that next step.
Version: 1.0.10
Date: 2026-08-19
Changes:
- Removed radar from the automatic Supply Depot / FluxMart catalog, including stale radar rows on upgraded saves.
- Fixed premature shop unlocks by preferring each item's canonical crafting recipe and ignoring recycling/hidden recipes as unlock paths.
- Excluded recycling recipes from manufactured-item value derivation, preventing circular recycling feedback from collapsing late-game equipment prices such as Portable Fusion Reactor and Shielded Singularity.
- Applied an additional 10x markup to land mines (20x total automatic military markup).
Version: 1.0.9
Date: 2026-08-19
Changes:
- Brought standalone GZ Economy pricing into parity with the updated Terra Nauvis economy model.
- Expanded authoritative base prices for late-game materials and the oil processing chain.
- Added automatic priced catalog discovery for combat items, including derived recipe values and sensible ammo/throwable floors and markups.
Bugfixes:
- Replaced the old depth-limited recursive manufactured-item price solver with the fixed-point recipe-cost derivation used by Terra Nauvis, allowing long production chains to resolve reliably regardless of recipe prototype order.
- Existing saves now import newly discovered static catalog rows when the price cache advances.
Version: 1.0.8
Date: 2026-08-18
Changes:
- Updated mod metadata for Factorio 2.0 compatibility.
Version: 1.0.7
Date: 2026-08-18
Changes:
- Updated the standalone Economy package for the Factorio 2.1 / Gizmod 1.0.12 modular stack.
Bugfixes:
- Economy debug commands now skip an already-owned command name instead of aborting mod loading.
Version: 1.0.6
Date: 2026-06-05
Bugfixes:
- Added Q close support for the GZ Economy standalone window.
Version: 1.0.5
Date: 2026-06-05
Changes:
- Added Gizmod-owned UI data-provider remote calls: ui_status / compact_status.
- The compact status exposes icon/count Flux balance parts for Gizmod to render in its consolidated dock.
- Suppressed the old independent top-flow Owned Flux label when Gizmod is present; GZ Economy now supplies data instead of owning HUD clutter.
- Updated internal constants.version to 1.0.5.
Version: 1.0.4
Date: 2026-06-02
Changes:
- Fixed a bug where inserting items into the supply depot would put items in storage rather than turn them into flux
Version: 1.0.3
Date: 2026-06-01
Changes:
- Added Flux ATM coin exchange: coins inserted into the ATM convert to force Vault Flux at the live coin market rate.
- Added coin market storage with a 1.20 default rate and +/-0.35 pressure band based on total coins sold per elapsed game second.
- Supply Depots now reject coins and physical Flux by spilling them back out instead of converting them as goods.
Version: 0.3.1
Date: 2026-05-23
Changes:
- Reduced Supply Depot autobuy runtime overhead. Autobuy now purchases in bulk instead of looping one bundle at a time.
- Added one-minute FluxMart shop price caching so depot automation does not recalculate item prices repeatedly.
- Made economy.root()/economy.settings() cheap after first reconciliation, avoiding repeated catalog/default normalization during runtime tick handlers.
- Coalesced balance button refreshes from control-side force/account credits into periodic dirty refreshes instead of immediate per-transaction GUI churn.
Version: 0.2.19
Date: 2026-05-21
Changes:
- Fixed startup crash caused by static catalog metadata being declared after first use.
- Fixed stale undefined runtime value helper references in the data-stage price-cache path.
- Removed save-migration/account-compatibility cleanup code from the fresh-game test build.
- Removed old GUI compatibility aliases and legacy top-button cleanup.