Space Efficient Rail Signals (Factorio 2.0 Port)


Factorio 2.0 port/fork of Space Efficient Rail Signals by WristWatch/OceanPhantom. Decouples rail signal collision masks from rails so signals can be placed (almost) anywhere — ideal for dense intersections, tight rail spacing, or LHD↔RHD conversion.

Tweaks
6 hours ago
2.0
0
Trains

Changelog

Version: 1.1.0
Date: 2026.04.29
  Changes:
    - Updated mod target to Factorio 2.0
    - Collision layers now registered as CollisionLayerPrototype via data:extend (required by 2.0)
    - Layer names now use underscores per Factorio 2.0 documentation recommendation
    - Rail type detection is now dynamic: covers all types whose name contains "rail" but not
      "signal" (handles straight-rail, curved-rail-a/b, half-diagonal-rail, elevated-* variants,
      legacy-* variants, and modded rail types — curved-rail no longer exists in 2.0)
    - Replaced static copy_all_rails with per-entity backup/restore covering all rail types
    - Collision mask operations now use 2.0 API: mask.layers[name]=true/nil directly
      (add_layer/remove_layer/mask_contains_layer were removed from collision-mask-util in 2.0)
    - cmu.get_mask no longer mutates entities in 2.0; explicit collision_mask assignment added
      before modification to ensure changes persist
    - Verification now checks all detected rail types, not just straight-rail/curved-rail
Version: 1.0.4
Date: 2023.04.04
  Bugfixes:
    - fixed crash when loading mod with both Renai Transportation and railway tunnels
    - added function to ensure all rail-signal collide after edits, as a failsafe against cases where mods add rail-signals that already don't collide with rail segments
Version: 1.0.3
Date: 2023.01.29
  Changes:
    - Change require("collision-mask-util") to require("__core__.lualib.collision-mask-util")
    - Changed all_rails_collide() to all_prototypes_collide(), Fixed crash cause by nil values.
    - Removed logging functions for less clutter in the log file
Version: 1.0.2
Date: 2023.01.29
  Changes:
    - Add Rail Signal Planner Dependency
    - Add Realistic Electric Trains Dependency
    - Remove Version Numbers on Dependencies
Version: 1.0.1
Date: 2023.01.27
  Bugfixes:
    - Hotfix for compatibility with Space Rails from Space Exploration
  Changes:
    - Minor Title Change (removed hyphen for easier searching)
Version: 1.0.0
Date: 2023.01.27
  Changes:
    - Initial release