Beltlayer by Lux

by teulux

Route your belts freely underground, around corners and over any distance. Factorio 2.0 / Space Age, with Factorissimo 3 support and undergrounds that mirror the surface above. Continuation of Therax's Beltlayer.

Content
4 days ago
2.0
37
Logistics

Changelog

Version: 2.2.0
Date: 2026-06-03
  Features:
    - On configuration change (this mod updated, or another mod such as Alien Biomes added),
      already-generated underground chunks are repainted to match current rules: planet
      undergrounds re-mirror the surface above; factory undergrounds re-apply floor/void.
  Changes:
    - Packing up a Factorissimo factory now keeps its Beltlayer underground intact. The underground
      is no longer wiped when the building is mined/destroyed; instead, stale contents are cleared
      only when a brand-new factory reuses a freed grid cell. This makes pack-and-move safe.
  Bugfixes:
    - Fixed a potential crash in the build-abort path: a player with a full inventory placing a
      connector in an invalid spot no longer dereferences a nil robot-cargo inventory.
  Optimizations / cleanup:
    - Cached surface lookups now validate the cached surface before reuse.
    - Removed dead code and non-English/leftover debug comments; tidied for mod-portal release.
Version: 2.1.6
Date: 2026-06-03
  Features:
    - Planet undergrounds now mirror the surface above: newly generated underground chunks copy
      the tiles from the same coordinates on the planet, so the underground looks like the world
      overhead. Whatever tileset the surface uses (vanilla or Alien Biomes) is reproduced
      automatically -- no special integration needed.
    - The map stays flat and buildable: water/lava is replaced with the chunk's most common land
      tile (falling back to landfill), and entities, cliffs, trees and decoratives are never
      copied -- tiles only.
    - Where the surface above hasn't been generated yet, the underground is filled with a neutral
      land tile instead of force-generating the surface (which would spawn ore/enemies and reveal
      the map). Applies to newly generated underground chunks; previously explored areas are
      unchanged. Factory undergrounds keep their confined floor-and-void boxes.
Version: 2.1.5
Date: 2026-06-03
  Changes:
    - Nested factory buildings no longer get their own underground build area. Only top-level
      factories (placed directly on a planet/platform, not inside another factory) have a
      Beltlayer underground. Entering the editor inside a nested factory is blocked with a
      message, and connectors can't be placed there. A factory is detected as nested when its
      building sits on a "-factory-floor" surface.
Version: 2.1.4
Date: 2026-06-03
  Bugfixes:
    - The void now covers the entire factory underground, not just a ring around the floor box.
      Previously the editor surface kept generating normal tiles past the carved margin as the
      camera panned. Newly generated chunks on a factory underground are now blanked to
      out-of-map (keeping only the owning factory's interior as floor).
Version: 2.1.3
Date: 2026-06-03
  Features:
    - Factory undergrounds now have a visible boundary: the buildable area is a floor box the
      exact size of the factory interior, surrounded by black void (out-of-map). The floor uses
      Factorissimo's factory-floor tile to match the look above.
    - Because out-of-map rejects all entity and ghost placement, this also closes the blueprint
      hole: blueprints can no longer create underground belts outside the factory footprint.
    - The boundary is carved when you enter the underground or place a connector, once per
      factory, and is cleared when the factory is removed.
Version: 2.1.2
Date: 2026-06-03
  Bugfixes:
    - The factory underground is now actually confined to the building's footprint. Previously
      only connector placement on the factory floor was limited; the underground editor surface
      itself was open, so belts could be laid anywhere. Builds on the underground surface are
      now rejected outside the surrounding factory's interior (30x30 / 46x46 / 60x60).
    - Confinement on the factory floor now applies only to Beltlayer connectors, so it no longer
      interferes with placing machines, belts, or Factorissimo's edge connection ports.
Version: 2.1.1
Date: 2026-06-03
  Bugfixes:
    - Fixed the factory underground being limited to a tiny ~4x4 area. Factorissimo's
      on_surface_created handler clamps any surface whose name ends in "-factory-floor" to a
      2x2-tile map, and Beltlayer's editor surface ("beltlayer-<planet>-factory-floor")
      matched that pattern. Beltlayer now names factory-floor undergrounds so they no longer
      match, giving each factory its full interior-sized underground.
    - Stale 2x2-clamped underground surfaces from the previous naming are deleted on update.
Version: 2.1.0
Date: 2026-06-03
  Features:
    - Factorissimo 3 compatibility. Beltlayer can now be used inside factory buildings.
      Factory floors are detected via Factorissimo's remote interface, and each factory gets
      its own separate underground region (on a single shared per-floor editor surface),
      automatically isolated by Factorissimo's grid layout.
    - Underground space inside a factory is confined to the building's interior footprint, so
      it scales with the factory tier (30x30 / 46x46 / 60x60) rather than being a fixed size.
      One underground per building, regardless of recursive nesting depth.
    - When a factory building is mined or destroyed, its underground region is cleaned up so
      nothing is left orphaned. Packing up and redeploying a factory keeps its underground
      intact (the interior stays in the same place).
    - Editor (underground) surfaces now have friendly names in the surfaces / remote-view
      list, derived from the aboveground surface (e.g. "Beltlayer - Nauvis Factory Floor").
  Notes:
    - Blueprinting or cloning a factory does not yet copy its underground contents.
Version: 2.0.12
Date: 2026-06-03
  Bugfixes:
    - Fixed a non-recoverable crash when leaving the underground (editor) view of a planet
      the player was not physically on -- e.g. entering it from Remote View. On exit the mod
      teleported the player to the viewed surface and then tried to reattach a character that
      lived on a different surface, raising "LuaEntity belongs to surface X but a LuaEntity
      belonging to surface Y was expected". The player is now always reattached to their real
      character on the character's own surface, and the exit path no longer crashes if the
      character has died or the saved state is missing.
    - Fixed a crash on load during on_configuration_changed: enable_recipes() used the 1.x
      LuaTechnology.effects, which was removed in 2.0 (effects are now on
      technology.prototype.effects). This path only began running once the version-migration
      trigger itself was repaired, so the bug had been dormant until now. Also guarded against
      a connector recipe being referenced by a technology but not existing on a force.
Version: 2.0.11
Date: 2026-06-03
  Bugfixes:
    - Fixed a crash on any configuration change / version migration: configchange.lua still
      used the 1.x "global" table, which was renamed to "storage" in Factorio 2.0.
    - Fixed a crash when placing a blueprint containing belts in editor (Underground) view:
      the ghost's prototype name was read after the ghost had already been destroyed.
    - Fixed the legacy pre-0.6.0 world migration, which called the removed API
      game.get_filtered_entity_prototypes (now prototypes.get_entity_filtered).
    - Removed a broken Space Exploration collision-mask patch that referenced an undefined
      global and used the 1.x collision-mask format, crashing the data stage if an
      SE-like mod was present.
  Changes:
    - Made the Space Age expansion an optional dependency instead of a hard requirement, so
      the mod now also loads on base Factorio 2.0. Added an explicit "base >= 2.0" dependency.
    - Underground map reveal is far cheaper now: the old code re-charted the entire surface
      several times every 5 ticks per player. It now charts only a bounded area around each
      underground player a couple of times per second.
    - Build-failed flying text is now localised (was a hard-coded German string), and the
      "created underground" message no longer spams every player when robots build proxies.
Version: 2.0.10
Date: 2025-02-07
  Bugfixes:
    - Hopefully fixed a crash when robots wanted to build something in the Underground.
Version: 2.0.8
Date: 2025-02-05
  Bugfixes:
    - Fixed a crash when you try to use a Blueprint in Editor View(Underground).
Version: 2.0.7
Date: 2025-02-04
  Bugfixes:
    - Fixed an issue that the player couldnt toggle into the Underground when on any other planet than Nauvis.
    - "Fixed" a crash when you are in Remote View and want to toggle into Editor View. You still cant do that but i fixed the crash.
Version: 2.0.6
Date: 2025-02-02
  Bugfixes:
    - Made the mod compatible with Space Age.
Version: 2.0.5
Date: 2022-07-04
  Bugfixes:
    - Restrict connector recipes to be created for recieps that result in at most 2 underground belts. (https://mods.factorio.com/mod/beltlayer/discussion/62a81a740bd49c3018586bb1)
    - Fix crash at startup with mods like Space Exploration that change underground belt collision masks. (https://mods.factorio.com/mod/beltlayer/discussion/615d747e9169a89900fc145d)
Version: 2.0.4
Date: 2021-10-29
  Bugfixes:
    - Fix hang when marking connectors for upgrade. (https://mods.factorio.com/mod/beltlayer/discussion/6133c41bd266007a9868714c)
    - Fix robot removal of underground belts yielding constant combinators instead of the original belts. (https://mods.factorio.com/mod/beltlayer/discussion/6133c41bd266007a9868714c)
Version: 2.0.3
Date: 2021-01-04
  Bugfixes:
    - Fix crash on startup with Yuoki Industries - Engines. (https://mods.factorio.com/mod/beltlayer/discussion/5fd76829f41eb1ecc8129ae4)
Version: 2.0.2
Date: 2020-12-30
  Bugfixes:
    - Fix migration leaving it possible to mine underground connectors. (https://mods.factorio.com/mod/beltlayer/discussion/5fec29d3ae469395d4428309)
    - Fix underground belt ghosts not being creatable in the underground layer. (https://mods.factorio.com/mod/beltlayer/discussion/5fecefccae469395d489d77b)
Version: 2.0.1
Date: 2020-12-29
  Bugfixes:
    - Fix beltlayer connectors migrated from 1.x saves becoming owned by the enemy force.
    - Fix yellow beltlayer connectors not having the correct behavior.
Version: 2.0.0
Date: 2020-12-29
  Major Features:
    - Beltlayer now uses linked belts instead of loaders and chests.
    - Connectors preserve which side of the belt items are on.
    - This is a major change. Blueprints with beltlayer connectors in them must be re-created. Expect bugs.
  Bugfixes:
    - Fix crash when marking an underground belt for upgrade in the underground layer. (https://mods.factorio.com/mod/beltlayer/discussion/5feb702ddf256608d2c011bb)
Version: 1.1.0
Date: 2020-11-30
  Info:
    - Update for Factorio 1.1.
Version: 1.0.3
Date: 2020-09-11
  Bugfixes:
    - Fix accidental sprite tinting. (https://mods.factorio.com/mod/beltlayer/discussion/5f5b26f2096f9ddfc83914da)
    - Fix ghosts built underground not setting direction on surface ghosts.
Version: 1.0.2
Date: 2020-09-10
  Bugfixes:
    - Fix crash on startup in Space Exploration. (https://mods.factorio.com/mod/beltlayer/discussion/5f582203a10d5bdfa0de34d6)
Version: 1.0.1
Date: 2020-09-09
  Bugfixes:
    - Fix crash on startup due to missing icon_size. (https://mods.factorio.com/mod/beltlayer/discussion/5f58e93537b59eef7dac5b1e)
Version: 1.1.0
Date: 2020-11-30
  Info:
    - Update to Factorio 1.1.
    - Restore Belt Brush compatibility.
Version: 1.0.0
Date: 2020-09-08
  Bugfixes:
    - Fix crash on startup with other mods that use the older style of specifying belt sprites (e.g. 5Dim's Transport, Yuoki Industries - Engines, etc.). (https://mods.factorio.com/mod/beltlayer/discussion/5f3ff748e973e4e9082b5adf)
    - Fix incorrect icons in deconstruction and upgrade planner configuration GUIs.
    - Fix upgrading connectors with the Construction Drones mod. (https://mods.factorio.com/mod/beltlayer/discussion/5f43eb37315ec2c2776355f7)
  Info:
    - Marked as incompatible with Belt brush pending a fix to that mod.
Version: 0.6.4
Date: 2020-08-07
  Bugfixes:
    - Fix crash when building from blueprint books in Factorio 0.37+. (https://mods.factorio.com/mod/beltlayer/discussion/5f29145a65b26e54076cef6b)
    - Fix compatibility with Replicating Belts. (https://mods.factorio.com/mod/beltlayer/discussion/5f1df23ff0cc62a796d3086c)
Version: 0.6.3
Date: 2020-08-03
  Bugfixes:
    - Fix crash when other mods create underground belt recipes with both `results` and `result`. (https://github.com/mspielberg/factorio-beltlayer/issues/4)
Version: 0.6.2
Date: 2020-07-20
  Bugfixes:
    - Fix crash when blueprinting underground belts in the editor. (https://mods.factorio.com/mod/beltlayer/discussion/5f15aec85fbfa080721ff015)
Version: 0.6.1
Date: 2020-07-17
  Bugfixes:
    - Fix crash on startup with Ultimate Belts. (https://mods.factorio.com/mod/beltlayer/discussion/5f11917b3b109923da214fa9)
Version: 0.6.0
Date: 2020-07-17
  Changes:
    - The representation of construction proxies has changed. If you have any outstanding construction orders for underground belt entities (build from ghosts, deconstruction, upgrade), you should finish or cancel them before upgrading.
  Bugfixes:
    - Fix crash when marking an underground belt for deconstruction and there is already a belt directly above. (https://mods.factorio.com/mod/beltlayer/discussion/5f0b97b1657c00e84f13f098)
Version: 0.5.2
Date: 2020-06-09
  Bugfixes:
    - Try to fix desync by controlling connector update order within a tick. (https://mods.factorio.com/mod/beltlayer/discussion/5ed9f9451d9958000c05c19d)
Version: 0.5.1
Date: 2020-03-15
  Bugfixes:
    - Fix crash when deconstructing an item-request-proxy. (https://mods.factorio.com/mod/beltlayer/discussion/5e5b7b2bcb6e1d000d6f8b5d)
Version: 0.5.0
Date: 2020-02-07
  Info:
    - Update to Factorio 0.18.
Version: 0.4.8
Date: 2020-01-13
  Bugfixes:
    - Fix that placing items in the editor view would consume two items. (https://mods.factorio.com/mod/beltlayer/discussion/5e1be7a0e60b78000b2d9135)
Version: 0.4.7
Date: 2019-09-16
  Bugfixes:
    - Fix that items in the cursor would get lost when returning from the editor view. (https://mods.factorio.com/mod/beltlayer/discussion/5d7962f91c9aad000c1440dd)
Version: 0.4.6
Date: 2019-08-31
  Bugfixes:
    - Fix bad release packaging.
Version: 0.4.5
Date: 2019-08-30
  Bugfixes:
    - Fix crash on startup when transport belts use minable.results instead of minable.result. (https://mods.factorio.com/mod/beltlayer/discussion/5d6924d25c14aa000d86244d)
Version: 0.4.4
Date: 2019-08-21
  Bugfixes:
    - Fix crash when building ghosts of underground belts on an invalid surface. (https://mods.factorio.com/mod/beltlayer/discussion/5d5d9c5a21274a000c210df0)
    - Prevent robots from building connectors on invalid surfaces.
Version: 0.4.3
Date: 2019-08-21
  Bugfixes:
    - Fix problems with building underground belts with bots where there are existing belts aboveground.
    - Another fix for Infinity Mode instant deconstruction.
Version: 0.4.2
Date: 2019-08-16
  Bugfixes:
    - More fixes for compatibility with Infinity Mode's instant blueprint construction and deconstruction. (https://mods.factorio.com/mod/beltlayer/discussion/5d57126d436acc000c5c2bea)
Version: 0.4.1
Date: 2019-08-14
  Bugfixes:
    - Fix crash with Infinity Mode's instant deconstruction. (https://mods.factorio.com/mod/beltlayer/discussion/5d50443e3d64de000b67ff5a)
Version: 0.4.0
Date: 2019-07-08
  Changes:
    - It is now possible to build splitters on underground belt layers.
    - Fast replacing connectors no longer dumps the entire buffer into the player's inventory.
  Bugfixes:
    - Fix some cases where multiple blueprint ghosts could be created on the surface when deconstructing underground belt.
  Minor Features:
    - Add support for Space Exploration.  You can now build underground belt layers on planets and moons, but not in orbit or deep space.
    - Add support for 0.17 upgrade planner tool.
Version: 0.3.2
Date: 2019-07-06
  Bugfixes:
    - Fix crash on load related to collision_mask in Factorio 0.17.53+.
Version: 0.3.1
Date: 2019-06-13
  Bugfixes:
    - Fix a crash when building a ghost but the underground is already occupied. (https://mods.factorio.com/mod/beltlayer/discussion/5cc4cea5073cd9000df85673)
    - Fix a crash when deconstruction is cancelled by another mod. (https://mods.factorio.com/mod/beltlayer/discussion/5caf480702246e000bb51a1f)
    - Fix a crash when mining a connector marked for deconstruction by the cut tool.
  Minor Features:
    - Add support for 0.17 cut tool.
Version: 0.3.0
Date: 2019-02-26
  Changes:
    - Update to Factorio 0.17.
Version: 0.2.8
Date: 2018-12-28
  Minor Features:
    - Add compatibility with TeamCoop. (https://mods.factorio.com/mod/beltlayer/discussion/5c3571eb246c07000d44eb81)
Version: 0.2.7
Date: 2018-12-28
  Changes:
    - Uninstalling beltlayer and then reinstalling it removes any old underground belts and their contents.
  Bugfixes:
    - Fix crash when using upgrade-planner outside the editor interface. (https://mods.factorio.com/mod/beltlayer/discussion/5c25659e4d145a000c5f1118)
Version: 0.2.6
Date: 2018-12-27
  Bugfixes:
    - Fix crash on startup when buffer display is disabled.
Version: 0.2.5
Date: 2018-12-26
  Changes:
    - No longer try to automatically adjust connectors buffers based on belt speed and item stack size.
  Minor Features:
    - Add setting to show connector buffer contents and allow manual interaction with buffers.
    - Add setting for size of connector buffers.
Version: 0.2.4
Date: 2018-11-28
  Minor Features:
    - Construction robots can now use underground ghosts created by Replicating Belts.
  Bugfixes:
    - Fix potential crash when transferring special items (ammo, armor, blueprints, guns, repair packs, etc.). (https://mods.factorio.com/mod/beltlayer/discussion/5bfe1d29fbbc13000d7c0d64)
Version: 0.2.3
Date: 2018-11-26
  Bugfixes:
    - Remove biters from editor surfaces if rso-mod put them there in a prior version.
    - Possible fix for crash when upgrading a map with earlier versions of beltlayer.
Version: 0.2.2
Date: 2018-11-25
  Minor Features:
    - Improve support for placing blueprints with a mixture of above ground and underground entities.
  Bugfixes:
    - Prevent rso-mod from generating biters on editor surfaces.
    - Fix crash when placing a blueprint in the editor view.
    - Fix possible crash on loading a map from a prior version.
Version: 0.2.1
Date: 2018-11-22
  Bugfixes:
    - Fix crash on adding Beltlayer to an existing map.
Version: 0.2.0
Date: 2018-11-22
  Changes:
    - Major internal refactor based on common codebase with Pipelayer.
    - Add compatibility with SeaBlock.
    - Add compatibility with New Game+.
Version: 0.1.9
Date: 2018-10-29
  Bugfixes:
    - Fix typo.
Version: 0.1.8
Date: 2018-10-29
  Bugfixes:
    - Fix handling of underground belt recipes that use results instead of result.
    - Fix handling of underground belt recipes with normal & expensive variants (https://forums.factorio.com/viewtopic.php?f=190&t=62567#p384246).
    - Fix handling of underground belt recipes that produce more or less than 2 items.
Version: 0.1.7
Date: 2018-10-28
  Bugfixes:
    - Reset underground when reinstalling to the same map.
Version: 0.1.6
Date: 2018-10-17
  Changes:
    - Placing an underground belt will remove any ghost on the surface for an underground belt.
  Bugfixes:
    - Fix not being able to place ghosts of underground belts in certain cases.
    - Fix crash when reviving a surface ghost of an underground belt, but the underground is already occupied. (https://mods.factorio.com/mod/beltlayer/discussion/5bc3bf0efdd6480009122c03)
    - Items picked up from belts while in the editor view that should not be placeable in the editor will not show in the editor inventory. (https://mods.factorio.com/mod/beltlayer/discussion/5bc75ffe5b1d0a000be0884e)
Version: 0.1.5
Date: 2018-10-02
  Bugfixes:
    - Fixed crash when dirt terrain type is not available, e.g. alien-biomes. (https://mods.factorio.com/mod/beltlayer/discussion/5bb33bdacf62c8000be5a4e3)
Version: 0.1.4
Date: 2018-09-26
  Bugfixes:
    - Fixed crash with mods that create unplaceable / unminable underground belts. (https://mods.factorio.com/mod/beltlayer/discussion/5bab42cef12235000be2528c)
Version: 0.1.3
Date: 2018-09-25
  Bugfixes:
    - Fixed crash with upgrade-planner (Bluebuild, Upgrade Planner, etc.) (https://mods.factorio.com/mod/beltlayer/discussion/5ba6c8ebe456dc000bbefa3d)
    - Fixed inventory management with Upgrade Planner.
    - Fixed crash when using a deconstruction tool underground.
  Translation:
    - Updated Russian translation.
Version: 0.1.2
Date: 2018-09-19
  Minor Features:
    - Increase maximum buffer size to handle extremely fast belts. (https://mods.factorio.com/mod/beltlayer/discussion/5ba2573d4c9ce0000b78835a)
  Bugfixes:
    - Fixed recipes where the item name differs from the recipe name. (https://mods.factorio.com/mod/beltlayer/discussion/5ba240814c9ce0000a195182)
    - Fixed recipes listing an underground belt as the main product. (https://mods.factorio.com/mod/beltlayer/discussion/5ba240814c9ce0000a195182)
  Translation:
    - Added Russian translation by John_TheCF. (https://mods.factorio.com/mod/beltlayer/discussion/5ba23e9cb814420009bb8717)
Version: 0.1.1
Date: 2018-09-18
  Changes:
    - Reduced recipe cost to match 1 underground belt.
  Bugfixes:
    - Added migration to enable connector recipes on existing games.
Version: 0.1.0
Date: 2018-09-18
  Major Features:
    - Underground belt connector
    - Interactive editor surface
    - Blueprint/Logistic robot support
    - Compatibility with underground belts added by mods