Quality Gardener

by raley

Let bots manage your garden **ahem** factory. This is a helper for factories with mixed quality buildings. Ghosts are matched to the best-available item in logistic storage, and bots automatically upgrade buildings to higher qualities when they become available.

Utilities
6 hours ago
2.1
2
Factorio: Space Age Icon Space Age Mod
Logistic network
Owner:
raley
Source:
N/A
Homepage:
https://github.com/aarons/factorio-qu...
License:
MIT
Created:
6 hours ago
Latest Version:
1.1.0 (6 hours ago)
Factorio version:
2.1
Downloaded by:
2 users

Mixed Quality Relaxation

This mod makes dealing with mixed qualities easier.

Bots automatically upgrade buildings (and other entities) when higher qualities are available in logistic storage.

They will also replace ghosts with the next best quality when the requested item is not in inventory - so they will lower the quality of ghosts in some cases, but then once higher quality buildings show up they get upgraded.

All entity types are supported, including modules in machines and beacons.

Helps with mixed quality factories

This is built as a companion mod for Quality Control, to help with copy-pasting parts of the factory that have lots of mixed quality levels. You can copy/paste without worrying as bots will figure out the best alternative options if they aren't available.

Only Changes Quality

A speed-module-1 can get upgraded to a higher quality speed-module-1, but won't get changed to a speed-module-2. Same principle applies to assembly machines, belts, and all other entities.

If you would like a mod that will upgrade yellow belts to red belts, or assembler-1 to assembler-2, check out Belt Upgrader, which handles those scenarios.

UPS Efficient

There are a lot of ways to program a mod like this. The general principle was to spread the work out as much as possible to avoid lag spikes and minimize UPS impact.

By default it evaluates 1 entity per tick (can be adjusted in settings), and only checks logistic network storage once at the beginning of a pass.

A single check of network storage could lead to over-provisioning upgrade requests if the inventory lowers while the Gardner is evaluating buildings. They won't leave things in a messy state; old upgrade requests that have been sitting for a while will get cleaned up (default 5 minutes, configurable).

Any upgrade ordered by the player will be left alone, to preserve intentional base changes.

Beta Version

Normally I play test a lot more before releasing, but I don't have as much playtime in the near future, and the mod feels super helpful. There are likely some unforeseen issues that will still need to be fixed. I do have the time to make patches, so let me know if you find any issues!

Planned Features

  • Ability to turn off ghost matching to inventory
  • Support for shiny quality mod and mods that add hidden qualities
  • Support for ignoring/skipping certain logistic networks
  • Any UPS performance tuning ideas or suggestions that come up
  • Prefer upgrading the busiest machines first (currently it's just whatever comes up first in the search)