Omni Depot

by cfactor

Storage containers with integrated, individually configurable input/output ports on every perimeter tile. No inserters or loaders needed; ports can also feed machines and chests directly.

Content
an hour ago
2.1
0

Changelog

Version: 1.0.0
Date: 2026-11-12
  Features:
	- Red (fast) and blue (express) transport belts are supported next to a port. A belt port now runs at the speed of
	  its belt: 15 / 30 / 45 items/s per port on a yellow / red / blue belt (1 / 2 / 3 items per lane every 8 ticks).
	  The speed is read from the belt prototype, so modded belts of the transport-belt type work as well.
	- Fast and express depot tiers: all 36 sizes exist in three tiers (yellow = unchanged ids, omnidepot-fast-WxH,
	  omnidepot-express-WxH). Each tier has its own crafting tab, recipe (with the belt of that tier) and technology
	  (Fast OmniDepot: OmniDepot + Logistics 2; Express OmniDepot: Fast OmniDepot + Logistics 3).
	  The tier caps the throughput of a depot: a yellow depot moves 1 item per lane per service even on a red or blue
	  belt, fast 2, express 3. Direct machine ports scale in the same way.
	  Fast and express artwork is tinted red and blue.
	  Fast depots have 20 % more inventory slots and draw 20 % more power than yellow ones; express depots 20 % more
	  than fast (x1.44 of yellow, slots rounded per building: 1x1 = 16 / 19 / 23 slots, 100 / 120 / 144 W).
  Info:
	- New test suite suite_belt_tiers.lua (throughput, compression, conservation, balancing and lane filters for every tier).
Version: 0.1.0
Date: 2026-11-10
  Features:
	- 36 container variants, every footprint from 1x1 to 8x8 (height <= width; vertical forms are rotations), with
	  16 inventory slots per tile.
	- Own "OmniDepot" crafting menu tab: row = smaller side, column = larger side (1x3 is row 1 column 3, 2x6 is row 2
	  column 6; 3x1 is the same building as 1x3 and its cell is blank). Blank cells are uncraftable placeholder recipes.
	- Every perimeter tile is an independent belt port with Input, Output and Disabled modes.
	- Ports move items between the real chest inventory and adjacent yellow transport belts at yellow-belt
	  speed (15 items/s per port), handling both lanes.
	- Output is balanced: all output lanes of a depot take turns, so a scarce supply is spread one item per lane
	  before any lane gets a second item.
	- Every output belt lane (left and right of each port) can be restricted to up to two items; both are sent
	  alternately. Filters are kept by blueprints (tag omnidepot_filters), paste and clones.
    - Ports also work without any belt: next to a furnace, assembler, turret, chest, etc. an Output port inserts
      items into it and an Input port takes items out of its output slots (inserter-like limits, 15 items/s).
    - Port configuration GUI attached to the container window, with Set all input/output, Disable all and Reset.
	- Port modes are saved in blueprints (rotation aware), copied by entity settings paste and kept by clones and
	  ghosts.
	- Technology "OmniDepot" (Logistics, 30 red science, 15 s) unlocks all variants.
	- Remote interface "omnidepot" for scripting and tests.
	- Stacking: a stacked version of every stackable inventory item (only an OmniDepot can build it), an "Unstack
	  Recipes" crafting tab, and a Stacking section in the depot GUI (one item type, Stack or Unstack mode). Jobs run
	  through a temporary queue and take items / 15 s / footprint area. The window shows the queue fill and a progress bar for the running
	  job. The opposite form never leaves the depot on belts.
	- Power: every depot draws 100 W per tile (1x1 = 100 W, 2x3 = 600 W) and stops without electricity. A map
	  setting turns the requirement off; the depot window shows the draw and the state.
  Info:
	- Automated in-engine test scenarios and a PowerShell runner (tests/run-tests.ps1).