Even Distribution Fork

by Jhorr

Keeping Even Distribution up to date and fixing issues as they arise until 321freddy returns.

Utilities
18 hours ago
2.1
3.19K
Owner:
Jhorr
Source:
https://github.com/321freddy/even-dis...
Homepage:
https://mods.factorio.com/mod/even-di...
License:
GNU LGPLv3
Created:
a month ago
Latest Version:
2.1.7 (18 hours ago)
Factorio version:
2.1
Downloaded by:
3.19K users

Even Distribution Fork

For the current public, stable release of Factorio 2.1.

Fill several buildings without opening every inventory. A maintained fork of Even Distribution by 321freddy.

General behaviour

Drag: hold an item and Ctrl + left mouse, then drag across buildings. Start over empty ground. Right mouse offers half instead.

Dump: press Shift+C to send excess ores, intermediates, science packs and trash-slot items to nearby compatible buildings.

Original demonstration by 321freddy.

Both actions use your selected mode. Offer 60 items to buildings containing 30 / 0 / 0:

  • Even Distribute: add 20 each → 50 / 20 / 20.
  • Balance Inventory: equalize the final amounts → 30 / 30 / 30.

In Even Distribute, Drag keeps a full building's rejected share with you instead of offering it to the other buildings. Dump can redistribute rejected shares among its remaining eligible destinations.

Items that cannot be placed stay at their source.

Settings

Open the blue button beside your inventory.

  • Sources: cursor, inventory and vehicle cargo.
  • Fuel and ammo limits: cap each building, separately for Drag and Dump.
  • Replace inferior items: let Drag upgrade existing fuel or ammo.
  • Destinations: optional chest filling and machine output slots.
  • Range, delay and ignored buildings.

Personal logistic requests control what Dump keeps:

  • Keep 100 → Dump everything above 100.
  • Keep the minimum by default, or switch to the maximum.
  • Minimum 0 + maximum ∞ → exclude that item from Dump.

Chest filling: ordinary chests need the item already inside; requester chests follow their requests.

Changes since original

Bio items

Spoilable items are sorted into three freshness groups, distributed oldest first:

Mostly spoiled → medium freshness → fresh

Each Drag or Dump handles the oldest available group for each item. If all three groups are present, repeat the action to work through them. More actions may be needed if the buildings run out of room.

Why three groups? Freshness is averaged by item count within the active group. Newer groups remain separate until their turn, so distributing old stock does not mix the freshness of your entire inventory.

→ Fuel + recipe input: both are filled separately when needed. Dump includes nutrients by default; keep amounts and fuel limits still apply.

Thanks to FallenPaladin for the initial spoilage preservation contribution.

Ammo

Dump enabled by default. All consumption groups in one action. Partly used magazines first within each type.

Dump priority:

→ →

→

Equipped ammo → keep 100 total across character ammo slots, inventory and cursor. Both actions protect only the equipped item and quality; other ammo stays available.

→ Turrets: Drag only. Chests: Dump allowed.

Quality

Drag: all qualities. Dump: normal quality only.

Qualities stay separate throughout distribution and returns, preventing higher-quality items from being consumed or returned as normal-quality items.

Protected destinations

→ Drag first. Dump only fills them when their input/fuel inventory already contains items.

→ Drag only, even when already supplied.

Inherited overhaul compatibility

Dormant compatibility defaults from the original mod are retained for these mod families:

These are inherited item and item-group defaults for Dump. They take effect when matching items or groups exist; otherwise, they remain inactive.

These inherited defaults have not been retested with current overhaul versions. The DyTech and Pyanodons entries were already marked untested in the original mod.

Reliability fixes

  • Factorio 2.1 fuel handling, including multiple fuel categories.
  • Restored original distribution rules for full destinations, existing stock, remainders and rounding.
  • Fixed item loss when a native transfer automatically refills the cursor from the inventory.
  • Transfers preserve quality, remaining shots, durability and health. Spoilage follows the freshness-group rules above.
  • Correct partial transfers and returns, without dropping rejected items on the ground.
  • Safe switching between dragged items and qualities.
  • Safe restoration after inventory sorting or changes to available space.
  • Improved save/load and update handling.
  • Import saved preferences and ignored-building entries when replacing the original Even Distribution.
  • Updated defaults without resetting saved preferences.
  • Compatibility fix for Modlist UI requesting outdated thumbnail dimensions.

Performance updates

  • Reduced repeated inventory scans and temporary-inventory creation during selection changes.
  • More targeted cleanup of temporary transfer backups.
  • Faster target lookups without changing distribution order.

Feedback

These behaviours are deliberate choices. Freshness groups prioritize older items without mixing the entire inventory.

Prefer all freshness groups in one action? I'm open to changing this or adding a setting.

Please report problems and share suggestions. Include your Factorio version, mod version, relevant settings and steps to reproduce. A save or short recording helps with transfer and performance issues.

Credits

Keeping Even Distribution up to date and fixing issues as they arise until 321freddy returns.

Icons: Factorio Wiki and Wube Software.