Construction Signaler

Send construction ghosts to your circuit network.
8 months ago
Owner: codekitchen
Source: codekitchen/factorio-construction-signaler
Homepage: N/A
License: MIT
Created: 9 months ago
Latest Version: 0.16.4 (8 months ago)
Factorio version: 0.16
Downloaded: 432 times

Smarter Supply Trains!

This mod adds a new "Construction Signaler" combinator, based off the Constant Combinator. When placed within a robot logistic network, it will output circuit signals for every "ghost" construction entity placed in that construction network.

This probably has a few uses, but I mainly built it in order to enable building a smarter supply train network. Typically what I do, and what I've seen others do, is put a constant combinator in each outpost, adding a bunch of signals for all the items you think you might want at that output. Then you diff that with the current logistic network inventory, and your supply train sends over any items missing. This is awesome, but it's a hassle having to add every item you might possibly want to build to that combinator.

Now you don't have to plan ahead of time to send every item you could possibly want to an output, you can plop down a blueprint and use this combinator to dynamically request the necessary items from your supply train.

Using the Mod

You'll need to research the new "Construction Signaler" tech, then you can build and place a signaler. I haven't added my own graphics yet, so it looks just like the constant combinator.

Implementation Note

Each Construction Signaler updates only once per second, to improve UPS. It isn't really an issue for this use case, but let me know if you come up with some other use case where it is a bother.

I was originally hoping to hook into the same data source as the "robots missing items" alert in the UI, but that isn't exposed to mods, so I had to write my own code to scan through the whole logistic network looking for construction ghosts. I make no attempt to cache that scan, because it'd make the whole thing much more complex.