Factorio-style logistics boxes for MOOLLM adventures.
| K-Line | Why Related |
|---|---|
| designs/factorio-logistics-protocol.md | The source design |
| room/ | Rooms inherit from containers |
| container/ | OpenLaszlo-style inheritance |
| prototype/ | Grid rooms inherit logistics config |
Logistic containers live at the QUADRANT level, not in each cell!
The diagonal directions (NW/NE/SW/SE) of the pie menu open into grid quadrants.
Each quadrant has a LOGISTIC-CONTAINER.yml. Grid rooms inherit from it.
Grid rooms are CITY BLOCKS at street intersections!
flowchart TB
subgraph Block["City Block at Intersection"]
direction TB
N["N (street)"]
subgraph Buildings["Buildings you ENTER"]
NW["NW 🏭"]
NE["NE 📦"]
SW["SW 📦"]
SE["SE 🚚"]
end
S["S (street)"]
end
W["W (street)"] --> Block
Block --> E["E (street)"]
N --> Block --> S
- Streets = Cardinal exits (N/S/E/W) — you TRAVEL
- Intersection = The room you're in
- Buildings = Diagonal quadrants — you ENTER them
- Building Interior = Grid cells within quadrant
wizard-study/ # Intersection (pie menu center)
ROOM.yml
nw/ # NW Building (warehouse)
LOGISTIC-CONTAINER.yml # ← Building config!
iron-ore/
ROOM.yml # ← Room inside building!
copper-ore/
ROOM.yml
ne/ # NE Building (factory)
LOGISTIC-CONTAINER.yml # Different purpose
sw/
LOGISTIC-CONTAINER.yml
se/
LOGISTIC-CONTAINER.yml
N (street to Great Hall)
│
NW ←─●─→ NE ← ENTER BUILDINGS (diagonals)
🏭 │ 📦
│
W ←──┼──→ E ← TRAVEL STREETS (cardinals)
🏠 │ 🌳
│
SW ←─●─→ SE ← ENTER BUILDINGS (diagonals)
📦 │ 🚚
│
S (street to Cellar)
| Mode | Color | Use Case |
|---|---|---|
passive-provider |
🟡 Yellow | Pantry, armory, ore storage |
active-provider |
🔴 Red | Factory output, mail outbox |
requester |
🔵 Blue | Workbench, player inventory |
storage |
⬜ White | Overflow, junk drawer |
buffer |
🟢 Green | Loading dock, staging |
# nw/LOGISTIC-CONTAINER.yml — Ore Storage
logistic-container:
id: ore-storage
name: "Ore Storage Quadrant"
mode: passive-provider
provides:
- tags: ["ore"]
grid:
enabled: true
auto_create_cells: true
stack_limit: 10000# nw/iron-ore/ROOM.yml
room:
inherits: ["../"] # ← Inherit from quadrant!
stacks:
iron-ore: 2500 # Just the data
exits:
SW: ../../ # Back to main
N: ../copper-ore/No logistics config needed — inherited!
LOGISTIC-CONTAINER.yml.tmpl— Main templateCELL.yml.tmpl— Grid cell template (non-room)CARD.yml— Skill cardSKILL.md— Full documentation