Factorio Mod: Beyond Belts https://mods.factorio.com/mod/beyond-belts
Find a file
kenni 6f094c3130
All checks were successful
Create Release / release (push) Successful in 3s
v3.0.10: fix missing lane-splitter icon paths
Lane Balancers' handle() points the icons at
__lane-balancers__/graphics/icons/<prefix>lane-splitter.png, which only
exist for the tiers it ships natively. Override the icons on our items
and entities right after the call so they pick up our own tier-coloured
graphics.

Also rename graphics/icons/bb-*-lanesplitter.png to
graphics/icons/bb-*-lane-splitter.png to match the renamed prototypes.
2026-05-03 23:24:25 +02:00
.forgejo/workflows v3.0.4: rename mod to beyond-belts, ab- prefix → bb- 2026-05-03 12:24:23 +02:00
graphics v3.0.10: fix missing lane-splitter icon paths 2026-05-03 23:24:25 +02:00
locale v3.0.9: delegate lane splitters to Lane Balancers integration 2026-05-03 22:56:40 +02:00
migrations v3.0.9: delegate lane splitters to Lane Balancers integration 2026-05-03 22:56:40 +02:00
prototypes v3.0.10: fix missing lane-splitter icon paths 2026-05-03 23:24:25 +02:00
changelog.txt v3.0.10: fix missing lane-splitter icon paths 2026-05-03 23:24:25 +02:00
core.lua v3.0.9: delegate lane splitters to Lane Balancers integration 2026-05-03 22:56:40 +02:00
data-final-fixes.lua v3.0.3: final v3 stabilization — defensive guards + integration split 2026-05-03 05:16:43 +02:00
data.lua v3.0.9: delegate lane splitters to Lane Balancers integration 2026-05-03 22:56:40 +02:00
info.json v3.0.10: fix missing lane-splitter icon paths 2026-05-03 23:24:25 +02:00
LICENSE Add MIT license 2026-05-02 03:26:58 +02:00
README.md v3.0.9: delegate lane splitters to Lane Balancers integration 2026-05-03 22:56:40 +02:00
settings.lua v3.0.8: remove out-of-scope pipe-u-dist setting 2026-05-03 14:29:29 +02:00
thumbnail.png Update thumbnail 2026-05-03 13:29:42 +02:00
tiers.lua v3.0.9: delegate lane splitters to Lane Balancers integration 2026-05-03 22:56:40 +02:00

Beyond Belts

Three transport-belt tiers past Turbo for Factorio 2.0 (Space Age):

Tier Speed (default) Crafted on
Hyper 90 items/s Vulcanus (metallurgy)
Extreme 120 items/s Vulcanus (metallurgy)
Ultimate 150 items/s Aquilo (cryogenics)

Every tier ships a transport belt, splitter and underground belt. Lane splitters are added automatically when the optional lane-balancers mod is installed (see Compatibility below). All speeds and underground reach values are configurable in the startup settings.

Compatibility

Mod Status
vanilla-loaders-hd ≥ 2.0.0 optional
aai-loaders (with sane-balance setting) optional
loaders-modernized ≥ 2.0.0 optional
deadlock-beltboxes-loaders optional
black-rubber-belts-remastered optional
lane-balancers ≥ 1.2.2 (adds matching lane splitters for every tier) optional
AdvancedBeltsSA (legacy fork) incompatible (declared ! in info.json)
AdvancedBeltsSA-VL (previous name) incompatible (declared ! in info.json)
DeadlockBlackRubberBelts n/a — replaced upstream by black-rubber-belts-remastered

Settings

Key Default Range
bb-hyper-speed / bb-extreme-speed / bb-ultimate-speed 90 / 120 / 150 15180 (engine cap)
bb-hyper-u-dist / bb-extreme-u-dist / bb-ultimate-u-dist 17 / 21 / 27 31024
bb-sane-loader-balance off uniform recipe across all loader integrations

Architecture

tiers.lua is the single source of truth for tier metadata (name, colour, speed setting, recipe category, etc.). All generators consume it:

tiers.lua                              ← single source of truth
├── prototypes/items.lua               ← generates 9 items
├── prototypes/entities.lua            ← generates 9 entities
├── prototypes/recipes/advanced-recipes.lua   ← generates 9 recipes
├── prototypes/technologies.lua        ← generates 3 technologies
└── prototypes/integrations/           ← cross-mod integrations
    ├── black-rubber-belts-remastered.lua
    ├── vanilla-loaders-hd.lua
    ├── aai-loaders.lua
    ├── loaders-modernized.lua
    ├── deadlock-beltboxes-loaders.lua
    └── lane-balancers.lua             ← registers tiers via lane_balancers_handle()

Each integration self-guards with if not mods["..."] then return end, so the file is a no-op when the corresponding mod isn't installed.

data.lua orchestrates the data stage. data-final-fixes.lua only runs the integrations that depend on prototypes from other mods being created first (currently: deadlock-beltboxes-loaders + the AAI sane-balance recipe override).

Adding a new tier

  1. Append an entry to the tiers list in tiers.lua with all required fields (key, name, colours, settings refs, max-health, recipe category, etc.).
  2. Add the matching speed and underground-distance settings to settings.lua.
  3. Drop the icon PNGs into graphics/icons/ and graphics/technologies/.
  4. Extend the per-shape ingredient tables in prototypes/recipes/advanced-recipes.lua and the per-tier loader recipes in each prototypes/integrations/*.lua. Lane splitters are picked up automatically by the lane-balancers integration when that mod is installed; no extra wiring needed.

No other code changes required — entity, item and technology generation pick up the new tier automatically.

Credits

Fork chain (oldest first):

Contributions welcome via the source repository.