U.P.S. Silo (Unified Production Supply Silo)


A wide/tall buffer chest for train-loading megabases with many stations. Unlike merged/warehouse chests, which add more slots as they grow, this keeps a fixed, small slot count and multiplies per-slot stack size instead - it stays UPS-efficient no matter how wide it gets, and reads out over a single circuit wire.

Content
6 hours ago
2.0
55
Logistics Storage
Owner:
eggplantsalad
Source:
https://github.com/eggplantsalad/UPS-silos
Homepage:
https://github.com/eggplantsalad/UPS-silos
License:
MIT
Created:
a month ago
Latest Version:
0.2.0 (6 hours ago)
Factorio version:
2.0
Downloaded by:
55 users

Unified Production Supply Silos

A wide (or tall) buffer chest for train-loading stations, built for megabases with many rail stations - hundreds if not thousands - where UPS is the metric that matters and functionality is already a solved problem.

Screenshots

1) Two unloader stations side by side, vanilla steel chests on top and a single long buffer chest on the bottom - replacing what would otherwise be 8 steel chests and their splitter/inserter cascade.

2) Stack size per slot scales with the silo's size - larger silos hold proportionally more per slot, not more slots.

3) The crafting chain leading up to the silo.

4) A 1x1, 1x2, and 4x1 silo up close. Ten slots, each holding several stacks worth.

Why

Vanilla has no path to a bigger chest at all - steel-chest is the ceiling. A few great community mods fill that gap by merging chests into a wider one, but the ones I looked at give a bigger chest more slots as it grows, and slot count is what actually costs UPS to simulate - so the wide chest itself becomes the new bottleneck at scale.

This mod takes a different route: a fixed, small slot count (10) with the stack size per slot multiplied instead, using Factorio 2.0's inventory_type = "with_custom_stack_size". A 20-tile-wide silo has the same 10 slots as a 2-tile one - it just holds proportionally more per slot. A single circuit wire on the entity reads the whole contents efficiently.

Further, the mod provides reliable blueprinting, something the otherwise mighty bulk rail loaders seem to struggle with. I would have happily kept using them and skipped writing my own - but blueprint/copy-paste stamping their stations was (systematically?) unreliable. Sometimes a paste would place cleanly, sometimes it wouldn't. A theory is contention/races around the hidden inserters/loaders they build alongside the visible entities, but that's speculation. Either way, this mod places single physical entities with nothing hidden to construct alongside it - blueprinting is just normal entity placement and should be very robust.

How it's built

Despite 27 sizes in 2 orientations, there's only one craftable item: a generic silo you drag across the map to the size/shape you want (1 tile tall for horizontal, 1 tile wide for vertical, 1x1 for the smallest). The specific sized silo is resolved right there at build time, not picked ahead of time at the crafting menu.

That means nothing needs to stock 54 dedicated items to keep a base running. A requester chest, a bot's own cargo, or your own inventory only ever needs the one generic item - in whatever quantity matches the mix of sizes being built (N generics per N-tile silo). Deconstructing, canceling a placement, or pipetting an existing silo all hand generics back the same way, so there's nothing to sort or clean up afterward either.

Credits

WideChests is the mod this one's wide/tall chest artwork was copied from and rendering approach was worked out from (slicing cap/middle art into repeating tile segments) - genuinely appreciate the reference. Modular Chests, Bulk Rail Loader (Continued), and Modern Bulk Rail Loaders: Pooled all tackle the same real problem from their own angles, and are worth a look depending on what you need. And thanks to AI of course - who wrote a lot of this - hallucinated APIs and all.

Known limitations

Containers can't rotate their collision box in Factorio's engine, so horizontal and vertical are separate items/entities rather than one item you rotate - there's a single generic item you carry and drag to the size/orientation you want, and pressing rotate swaps whatever's in your cursor (a real item or a ghost-aim) for its same-size opposite-orientation counterpart. That swap only applies to the cursor though. Two consequences follow from the underlying constraint: 1) a blueprint containing this chest can only be rotated 180 deg or mirrored (both come out correct) - a genuine 90/270 deg rotation doesn't work, since that would require the entity itself to swap from wide to tall, which Factorio's engine won't do automatically, and our rotate-key handling doesn't touch blueprint contents at all. 2) The 53 real per-size/orientation items are meant to exist only momentarily, in the cursor, mid-placement - a stray one can still end up resting somewhere else (a chest, a vehicle trunk, another player's inventory, a bot's cargo) if it's moved there without ever passing through your own main inventory, where it would otherwise be silently converted back into the generic item.