Rift Rail (裂隙铁路)


This mod is primarily developed for personal gameplay with friends. cross-surface train teleportation. Seamlessly connect planets and spaceships. Features deep integration with Space Exploration and LTN. Supports Cybersyn (in SE). 本模组主要为作者与朋友联机自用。 非对称跨地表铁路运输系统。无缝连接行星与飞船,支持 LTN 与 Cybersyn(SE环境)物流调度。灵活的单向设计,极大提升多地表工厂的物流效率。

Content
5 days ago
2.0
907
Transportation Logistics Trains Cheats

Changelog

Version: 0.8.0
Date: 2026-01-26
  Major Changes:
    - 这是一项重大变更,直接取消了无se环境下的cybersyn兼容支持,如果您需要此功能请不要更新。
    - This is a major change that removes cybersyn compatibility in non-SE environments. Please do not update if you need this feature.
  Features:
    - The Cybersyn compatibility architecture has been completely refactored.
      - [Removed] Due to significant performance overhead and instability, Cybersyn compatibility in **non-Space Exploration environments has been removed**.
      - [Upgraded] In Space Exploration environments, the compatibility logic has been upgraded to a new **N-to-M Pooled Architecture**. Any number of Entry portals can now intelligently interconnect, allowing Cybersyn to automatically select the closest path. This greatly improves routing flexibility and redundancy.
      - [Fixed] Resolved an issue where connections to Cybersyn might fail to be cleaned up upon deconstruction due to entity ID mismatches in the legacy compatibility mode.
      - [Improved] The Cybersyn connection switch in the GUI can now be operated from an "Exit" portal; the action will be intelligently proxied to its paired "Entry" portal for a better user experience.
  Improvements & Fixes:
    - Fixed an issue where adding a temporary wait station to a train's schedule (e.g., when the exit is blocked) would incorrectly clear the train's Interrupts.
    - Fixed a bug where deconstructing a portal connected to Cybersyn would not properly clean up the connection data in some cases.
    - Improved the notification system to provide clear feedback for all connection state changes (connected, waiting for partner, disconnected).
    - Fixed a rare bug where the Cybersyn compatibility module could fail to initialize due to mod loading order issues.
  【重大变更】:
    - Cybersyn 兼容性架构已彻底重构。
      - [移除] 由于存在严重的性能开销和不稳定性,移除了在“非 Space Exploration 环境”下的 Cybersyn 兼容支持。
      - [升级] 在 Space Exploration 环境下,兼容逻辑升级为全新的“全互联池化”架构。现在,任意数量的入口传送门都可以智能地相互连接,Cybersyn 将自动选择最近的路径,极大地提高了路由的灵活性和冗余度。
      - [修复] 解决了在旧兼容模式下,传送门与 Cybersyn 连接可能因实体 ID 不匹配而清理失败的问题。
      - [优化] 玩家现在可以在“出口”传送门的 GUI 上直接操作 Cybersyn 开关,操作会自动代理到配对的“入口”上,提升了用户体验。
  【优化与修复】:
    - 修复了在某些情况下(如出口堵塞时),向列车时刻表添加临时等待站点会导致列车“中断机制”被意外清除的问题。
    - 修复了在拆除已连接到 Cybersyn 的传送门时,相关连接数据可能不会被正确清理的 Bug。
    - 优化了通知系统,现在无论是连接、等待回程还是断开连接,玩家都会收到清晰的反馈信息。
    - 修复了在极少数情况下,因模组加载顺序问题可能导致 Cybersyn 兼容模块初始化失败的 Bug。
Version: 0.7.35
Date: 2026-01-24
  LTN:
    - 以下所有修改全部针对LTN,LTN在任何模式下都是这样操作的。
    - 两个星球建立2对互相配对的建筑(4个建筑),这两对建筑都需要打开LTN连接,但是不再需要同名车站。可以不再修改车站名字了!
    - English version:
    - For LTN integration, all changes are applied to LTN only. In any mode of LTN, the following operations are performed.
    - Establish two pairs of mutually paired buildings (4 buildings) on two planets, both pairs of buildings need to open LTN connections, but no longer require the same name station. You no longer need to modify the station name!
  Performance:
    - 引入路由表机制(Routing Table):弃用在每次任务调度时遍历所有传送门的低效做法,维护预计算的 [来源面][目标面] 路由表,将路径查找复杂度由 O(N) 降低至 O(1)。
    - 在大量传送门或安装 Space Exploration 的存档中,显著降低 LTN 派发任务时的 CPU 占用与调度开销。
  Features:
    - 路径选择智能化(Smart Pathing):新增欧几里得距离计算,优先选择离火车当前位置或取货/送货站最近的传送门以减少地面行驶距离与空跑。
    - 在模组设置中加入了清理车站。(仿照se-ltn-glue模组) 默认关闭。
  Bugfixes & Robustness:
    - 全链路跨面支持:修复“火车当前位置”与“取货站”不在同一地表时无法生成路径的问题(Loco -> Provider 阶段)。
    - 实现完整的三段式路径检查:
      - 前往取货(Current -> Provider)
      - 前往送货(Provider -> Requester)
      - 任务结束/回程(Requester -> Return)
      确保列车即使停在车库或异星,也能正确穿越地表到达目标。
  Schedule Stability:
    - 时刻表插入修正(Clearance Station):优化传送门与防堵塞清理站的插入顺序逻辑,修复开启清理站设置后可能导致的时刻表顺序错乱(重复插入或索引偏移)问题。
    - 现在采用先插清理站、后插传送门的堆叠方式,确保最终执行顺序为 [传送门] -> [清理站]。
  Refactoring:
    - 模块化设计:将核心调度逻辑拆分为独立辅助函数(如 `insert_portal_sequence`、`find_best_route_station`),提高可读性与维护性,降低与 `se-ltn-glue` 等模组的冲突风险。
    - 兼容性说明:现在不再强制要求同名车站,但仍需打开两条 LTN 连接以保证跨地表运单的正常流转。
Version: 0.7.34
Date: 2026-01-22
  Changes:
    - 无聊的小优化。
Version: 0.7.33
Date: 2026-01-22
  Bugfixes:
    - 修复了使用 se-ltn-glue 模组时,ScheduleRecord 必须指定 station 或 rail 导致的报错。
Version: 0.7.32
Date: 2026-01-21
  Bugfixes:
    - 现在可以传送带有幽灵装备的列车了。
    - 电力机车在传送后不会丢失电力。
Version: 0.7.31
Date: 2026-01-09
  Features:
    - Added optional recipe and technology integration for Space Exploration and Krastorio 2 to improve progression balance. (Made by Ldmf/Bsaa)
      新增了 Space Exploration 和 Krastorio 2 的可选配方和科技整合,以改善游戏进程平衡。(Ldmf/Bsaa 贡献)
    - Added a startup setting to toggle the SE/K2 balance mode. (Made by Ldmf/Bsaa)
      新增了一个启动设置,用于切换 SE/K2 平衡模式。(Ldmf/Bsaa 贡献)
Version: 0.7.30
Date: 2026-01-07
  Features:
    - 列车限制同步优化:在传送门重命名和模式切换时,强制刷新内部车站的列车限制,确保其始终与当前模式保持一致,避免因引擎自动同步错误导致的限制失效问题。
    - 列车限制初始化:在创建传送门时,如果初始模式为“出口”,则将内部车站的列车限制设置为 0,防止列车误入。
Version: 0.7.29
Date: 2026-01-07
  Changes:
    - 在模组设置中添加了传送速度调节选项,允许玩家根据需求调整列车在传送门出口的初始速度。最大值提升至 8.0。
    - 在模组设置中添加了车厢放置检测间隔选项,允许玩家根据服务器性能调整传送时的检测频率。最大值提升至 10。
    - 传送列车gui跟随功能优化:修复了传送后总是打开首节车厢的问题,现在会根据玩家传送前打开的车厢重新打开对应的界面。
Version: 0.7.28
Date: 2026-01-05
  Features:
    - 在模组设置中添加了传送速度调节选项,允许玩家根据需求调整列车在传送门出口的初始速度。
    - 在模组设置中添加了车厢放置检测间隔选项,允许玩家根据服务器性能调整传送时的检测频率。
    - 如果列进入入口的第一节为正向车头,将不再创建引导车。
  Bugfixes:
    - 修复了建筑图标后不能添加空格的问题。
Version: 0.7.27
Date: 2026-01-04
  Changes:
    - 优化列车传送的时刻表索引恢复:在 on_path/wait_signal/arrive_* 状态读取最新索引,遇到 no_path 等状态则回退到已备份的索引,避免断轨后索引回退错误。
Version: 0.7.26
Date: 2026-01-03
  Bugfixes:
    - [车组时刻表丢失] 重构 schedule.lua 中的时刻表处理逻辑:先设置车组再添加临时站点,确保传送后车组时刻表完整保留。
Version: 0.7.25
Date: 2026-01-03
  Features:
    - 可以通过用信号线连接核心的方式控制内部车站。
Version: 0.7.24
Date: 2026-01-02
  Features:
    - 在GUI中添加了打开车站面板的按钮。
Version: 0.7.23
Date: 2026-01-01
  Bugfixes:
    - 修复了如果出口堵塞会丢失中断机制的问题。
Version: 0.7.22
Date: 2025-12-29
  Changes:
    - 核心代码重构:
    - 修复了传送函数中引用未定义变量导致的潜在逻辑错误。
    - 优化了活跃列表管理,采用倒序遍历移除机制提升了每帧的处理性能。
    - 将硬编码的几何偏移量与检测区域提取到统一配置表,消除了多处冗余的计算代码。
    - 封装了“克隆工厂”函数,统一处理新车厢生成、属性转移与司机迁移的逻辑,净化了主流程。
    - 重构了堵塞处理逻辑,提取独立函数并优化了时刻表等待条件的插入流程。
    - 重构了 Tick 调度器,将碰撞器重建与传送序列拆分为独立的任务分发流程,逻辑更清晰。
  Compatibility:
    - 实施了模块化解耦,将 Cybersyn 和 LTN 的所有特定逻辑(快照读写、任务重指派等)从核心文件移至各自的兼容模块中。
    - 引入了生命周期钩子机制(Start/End),通过依赖注入实现了不同模组环境下(有/无 SE)的策略自动分发。
    - 在 Cybersyn 兼容层中补全了无 SE 环境下的时刻表精准导航修复逻辑,确保列车能停靠在指定实体的车站。
  Features:
    - 新增了模组卸载清理开关(位于模组设置中),允许玩家一键清除 Cybersyn 和 LTN 数据库中的外部连接残留,防止卸载模组后坏档。
  Bugfixes:
    - 修正了碰撞器的重建时机,确保其只在传送序列完全结束后或非传送事件中触发,彻底解决了长火车导致的连续撞击与幽灵数据问题。
    - 修复了一个关键逻辑漏洞:当火车撞击一个未配对的传送门时,现在会正确地重建碰撞器,使传送门能自动从配置错误中恢复,而不是永久失效。
Version: 0.7.21
Date: 2025-12-28
  Changes:
    - 微调了列车的速度控制逻辑:将列车的速度调整为1.0,以进一步降低高速传送时的断裂风险,同时仍能保持良好的吞吐量和视觉效果。
    - 命名系统重构:
    - 移除了所有强制添加的空格。现在建筑和车站的名字将严格遵循“所见即所得”原则。
    - 修复了建筑名字与内部车站名字在特定操作下显示不一致的问题。
    - 蓝图参数化支持:
    - 现在蓝图可以正确保存和恢复建筑的、图标
    - 实现了智能的“幽灵窃取”机制,通过在建筑安全区外生成数据载体,解决了放置器覆盖导致的蓝图数据丢失问题。
Version: 0.7.20
Date: 2025-12-28
  Bugfixes:
    - 确保碰撞器不许遗留幽灵数据。除了火车撞击首死亡的碰撞器会重建,任何情况下,只要碰撞器死亡,建筑就会重建碰撞器。
  Issues:
    - 极少数情况下,列车传送后有可能会断开,正在排查原因,通常发生在列车速度太快的时候。
Version: 0.7.19
Date: 2025-12-28
  Changes:
    - 重构了建筑拆除逻辑:通过在拆除开始前“抢救”核心坐标与方向信息,确保了后续清理的绝对精准。
  Bugfixes:
    - 根治了“幽灵碰撞器”问题:无论通过何种方式拆除,都会对 collider 的位置进行一次最终的、精准的“点清除”,彻底杜绝了碰撞器被遗留在地图上的 Bug。
    - 提升了拆除逻辑的健壮性:废除了原有的大范围“暴力扫荡”机制,改为依赖“反查主体”的精准定位,完全避免了误伤相邻建筑的风险。
Version: 0.7.18
Date: 2025-12-27
  Features:
    - 完美物品克隆:重写了物品转移逻辑,使用 set_stack 替代 insert。现在传送后的车厢将 1:1 完美保留原有的物品摆放位置、空位布局和堆叠状态,不再会自动“整理”或“压缩”物品。
    - 过滤器同步:新增了对货运车厢过滤槽 (Filters) 的支持,现在传送后会保留玩家用鼠标中键设定的物品限制。
    - 容量限制同步:新增了对物品栏容量限制 (红叉/Bar) 的支持,适用于货运车厢、机车燃料栏及火炮车厢弹药栏。
Version: 0.7.17
Date: 2025-12-27
  Features:
    - 彻底修改了碰撞器重建机制,。这显著减少了不必要的计算开销。
Version: 0.7.16
Date: 2025-12-27
  Bugfixes:
    - 通过在建筑创建时缓存关键坐标,并在运行时采用“懒加载”机制兼容旧存档,重构了核心方向判定算法,显著降低了高频运算开销,并彻底解决了单节列车传送的罕见崩溃问题。
Version: 0.7.15
Date: 2025-12-27
  Performance:
    - 优化了内部几何数据的处理方式:通过在传送开始时预计算并缓存几何信息,避免了在传送过程中对每节车厢进行重复计算,提升了性能并修复了在读档后可能发生的罕见崩溃。
Version: 0.7.14
Date: 2025-12-26
  Features:
    - [核心优化] 采用了一套全新的、基于物理“铁轨端点距离”的 O(1) 恒定时间算法 (calculate_speed_sign)。此算法不受列车长度、弯道或双头/多头列车配置的影响,性能更佳且逻辑更稳健。
  Bugfixes:
    - [核心修复] 优化了出口堵塞检测: 扩大了出口区域的检测范围,使其向外延伸了 2 格,能更早地发现并响应前方轨道上的列车,减少碰撞风险。
Version: 0.7.11
Date: 2025-12-22
  Changes:
    - [核心优化] 取消了速度应用的 pcall 使用,以提高性能和稳定性。
Version: 0.7.10
Date: 2025-12-22
  Bugfixes:
    - [核心修复] 修复了双头或者多头列车传送时的报错。
Version: 0.7.7
Date: 2025-12-22
  Bugfixes:
    - [LTN 修复] 修复了列车从车库(Depot)前往不同地表的供货站(Provider)时,因地表检索错误导致无法插入起始传送门的问题。
    - [LTN 修复] 移除了时刻表插入时的同名站点去重检测,从而支持传送门重名及往返运输场景下的正确调度。
Version: 0.7.6
Date: 2025-12-22
  Features:
    - [核心功能] 优化了列车传送时的牵引逻辑,确保传送过程更平稳。
    - 改动util文件的引用。
Version: 0.7.5
Date: 2025-12-22
  Bugfixes:
    - [核心修复] 修复装备数据丢失问题:
    - 修正了列车传送后,车载装备网格(Equipment Grid)状态重置的问题。现在可以正确保留:
    - 电量 (Energy):电池、外骨骼、激光防御及护盾的充能状态。
    - 护盾值 (Shield):能量盾的当前防护数值。
    - 燃烧室状态 (Burner):车载核反应堆或发电机的燃料库存、废料及燃烧进度。
    - 品质 (Quality):(适配 Factorio 2.0) 装备的品质等级不再会在传送后退化为普通级。
    - [核心修复] 修复出口堵塞时的等待逻辑:
    - 修复了当传送门出口被阻挡时,入口列车未能正确插入“临时等待站点”的问题。现在列车在出口拥堵时会正确地在原地保持自动模式等待,防止路径错误。
Version: 0.7.4
Date: 2025-12-22
  Features:
    - [本地化] 所有面向玩家的错误/信息消息现在已完全本地化(支持中英文)。
    - [描述] 为传送门外壳和核心实体添加了清晰的游戏内描述,包括碰撞器重建说明。
    - [用户引导] 改进了用户引导:如果传送失败,系统会提示玩家使用“重建碰撞器”设置。
  Maintenance:
    - 少量代码清理和国际化改进。
Version: 0.7.3
Date: 2025-12-22
  Bugfixes:
    - [图标] 修复了 Rift Rail 科技图标尺寸错误导致的游戏报错:The given sprite rectangle (left_top=0x0, right_bottom=128x128) is outside the actual sprite size (left_top=0x0, right_bottom=64x64). If this is being used as an icon you may need to define the icon_size property. See the log file for more information.: __RiftRail__/graphics/icon/riftrail.png。
  Maintenance:
Version: 0.7.2
Date: 2025-12-22
  Features:
    - [科技] 新增 Rift Rail 专属科技,需在“自动化铁路交通”后解锁,科技图标与建筑图标统一。
    - [配方] Rift Rail 放置器配方调整为 100 铁轨制造 2 个建筑,制造时间改为 1 分钟。
    - [拖船] Rift Rail 拖船实体添加科技图标。
    - [GUI] Cybersyn 和 LTN 开关仅在安装对应模组时显示,LTN 网络ID输入框同样受控。
  Changes:
    - [本地化] 科技名称与描述条目修正,采用标准 [technology-name] 节点,解决 unknown key 问题。
Version: 0.7.1
Date: 2025-12-21
  Bugfixes:
    - [LTN 集成] 注释了多余的去重逻辑。避免了随着存档时间增多,数据库变大的问题。
Version: 0.7.0
Date: 2025-12-20
  Features:
    - [LTN 集成] 新增对 Logistic Train Network 的事件驱动式集成:在跨地表运单中,自动在供/需站前后插入“传送门中转站”,并在传送开始时于无 SE 环境下执行 `reassign_delivery` 与“下一临时站点”接续,保证运单不中断。
    - [网络筛选] 新增 LTN 网络 ID 过滤(默认 -1,表示所有网络),支持在 GUI 中配置与应用。
  Changes:
    - [GUI] Cybersyn/LTN 开关始终可见;当未安装对应模组时将禁用并显示禁用原因提示;LTN 网络 ID 独立成一行显示,布局更紧凑;将 Cybersyn 标签改为“Cybersyn 连接/Cybersyn Connect”以更明确。
    - [日志] LTN 模块日志统一受全局调试开关控制,关闭调试时不再输出。
  Bugfixes:
    - [兼容性] 修复了与 LTN 的数据阶段冲突:在 `data-final-fixes` 中清理 LTN 内部隐藏站的 `next_upgrade`,并通过可选依赖保证在 LTN 之后加载,避免启动报错。
  Performance:
    - [零负担守卫] 在未安装 LTN/SE 时,所有 LTN 相关逻辑均通过存在性守卫早退,不注册事件、不运行轮询,运行期开销近乎为零。
Version: 0.6.8
Date: 2025-12-19
  Bugfixes:
    - [核心修复] 修复了传送完成后列车速度骤降的问题。原因是速度恢复逻辑错误地使用了入口时的低速(撞击减速后约 40 km/h),而不是传送过程中维持的高速(约 180 km/h)。现在通过在速度管理循环中持续保存出口列车速度,确保传送结束时恢复的是被推进器加速到的实际速度,消除了尾声卡顿。
Version: 0.6.7
Date: 2025-12-19
  Changes:
    - [传送稳定性] 移除了 `teleport.lua` 中出口侧“强制连挂”逻辑,改为完全交由引擎自然连挂,避免潜在的异常连接与后续抖动。
    - [代码清理] 禁用 `util.lua` 中“方案A (get_inventories)”的备用通用转移路径,经运行期检索未命中,判定为冗余实现;保留注释方便回退。
Version: 0.6.6
Date: 2025-12-19
  Features:
    - [GUI 跟随] 新增列车传送后自动重新打开 GUI 的功能。当玩家在传送前打开了列车界面(如查看车厢物品栏),传送完成后自动在新列车的首节车厢重新打开界面。
    - [日志优化] 进一步优化所有模块的日志系统,从外部条件判断改为单层判断设计,降低 DEBUG 模式下的字符串拼接开销。
  Known Issues:
    - [已知限制] GUI 跟随功能总是打开首节车厢(通常为机车),如果玩家原本在观察其他车厢(如货车物品栏),传送后会被重置为首节车厢的机器/物品栏界面。完整的车厢级别记忆需要后续版本实现。
    - [API 限制] Factorio API 不支持直接打开 LuaTrain 对象,只能打开具体的车厢实体,因此无法在传送后恢复列车的全局视图(时刻表、手动模式等集成界面)。
Version: 0.6.5
Date: 2025-12-18
  Features:
    - [日志改进] 统一了所有模块的日志前缀格式为 [RiftRail:模块名],提升日志可读性。
    - [消息本地化] 将配对/断开连接消息改为使用本地化字符串,支持多语言,并添加了富文本图标显示。
    - [功能增强] 为 Cybersyn 全局消息添加了每玩家可配置的开关,允许玩家单独控制是否看到 Cybersyn 连接/断开提示。
    - [兼容性] 新增 rift-rail-show-cybersyn-global 的模组设置,支持中英文双语。
Version: 0.6.4
Date: 2025-12-16
  Bugfixes:
    - [核心修复] 修复了自 v0.6.0 数据结构重构以来,导致传送门重命名功能失效的严重 Bug。该问题使得玩家在重命名传送门后,其内部车站的名称(backer_name)无法被正确更新。
    - [核心修复] 修复了因 SE 飞船移动(克隆)后,拆除传送门时会遗留“核心”(rift-rail-core)组件的 Bug。通过在克隆事件中采用更精准的“按名+坐标”查找方式,确保了所有子组件都能被正确识别和清理。
    - [兼容性修复] 同步更新了所有相关模块(Logic, Cybersyn, Scheduler, Teleport)以完全适配新的 `children` 数据结构,解决了因此引发的一系列功能失效问题(如 Cybersyn 按钮无响应、新建筑图标丢失等)。
    - [健壮性] 修复了在 v0.6.2 中引入的一个依赖注入疏忽,彻底解决了拆除已配对的传送门时可能导致的游戏崩溃问题。
    - 我没有办法完全的测试,毕竟我也看不懂代码,只有我和911一起玩的时候出现问题我才知道哪里有错误,所以如果各位发现问题请告知我们,我们会尽快修复,谢谢大家的支持!ok
Version: 0.6.3
Date: 2025-12-16
  Bugfixes:
    - [核心修复] 修复了因 v0.6.0 的数据结构重构(为子实体引入相对坐标)未能同步更新所有相关模块,而导致 Cybersyn 兼容功能完全失效的问题。
    - [修复] 修正了 `cybersyn_compat.lua` 和 `cybersyn_scheduler.lua` 两个模块中的辅助函数,使其能够正确地从新的 `children` 数据结构中获取车站实体。此修复使 Cybersyn 连接开关以及(在无SE环境下的)跨地表自动调度功能恢复正常。
Version: 0.6.2
Date: 2025-12-16
  Bugfixes:
    - [核心修复] 修复了在拆除(挖掘)传送门时,因缺少对 State 模块的依赖而导致游戏报错崩溃的问题。该问题是在 v0.6.0 性能重构中引入的一个疏忽。
    - [修复] 修正了 Builder 模块的依赖注入,确保它能正确访问到核心数据接口,恢复了拆除传送门时的“通知伙伴解除配对”功能。
Version: 0.6.1
Date: 2025-12-16
  Bugfixes:
    - [核心修复] 修复了在太空探索(Space Exploration)环境中,当飞船起飞或降落后,传送门配对关系“单向失效”的严重问题。该问题曾导致地面上的传送门无法找到飞船上的伙伴(报告“目标数据丢失”),并且飞船上的传送门相关功能(如远程观察、断开连接)完全失效。
    - [核心修复] 修正了实体克隆(Cloning)事件的数据处理逻辑,确保在传送门被克隆后(如飞船移动),其自定义ID与新实体ID之间的映射缓存(id_map)能够被正确更新。这彻底解决了导致配对失效的根源问题。
Version: 0.6.0
Date: 2025-12-16
  Performance:
    - [重大重构] 引入了“ID Map”缓存机制,彻底重写了所有后台查询逻辑。现在,获取传送门数据的核心操作从 O(N) 复杂度(遍历所有建筑)优化为 O(1) 复杂度(瞬时查找),完全消除了在拥有大量传送门的后期存档中,因配对、重命名或切换模式等GUI操作导致的潜在卡顿风险。
    - [重大优化] 全面重构了日志系统,实现了“零开销日志”。在调试模式关闭时,所有日志相关的字符串拼接和函数调用开销均为零,显著降低了垃圾回收(GC)压力,提升了游戏的整体平滑度。
    - [优化] 优化了“活跃传送门”列表的维护算法,将原有的 O(N log N) 排序操作替换为更高效的 O(N) 二分查找插入,降低了多列火车同时传送时可能产生的性能尖峰。
  Features:
    - [功能增强] 增强了模组在太空探索(Space Exploration)环境下的健壮性,重构了克隆(Cloning)事件的处理逻辑。现在,当传送门所在的飞船移动时,会通过精确的相对坐标来重新绑定所有内部组件,而不是范围搜索,杜绝了在复杂布局下可能出现的组件丢失或绑定错误问题。
  Bugfixes:
    - [兼容性修复] 为“精准定位”功能增加了完整的数据迁移脚本。现在,从旧版本升级的存档也能无缝、安全地过渡到新的数据结构,不会发生旧建筑在飞船移动后损坏的问题。
Version: 0.5.3
Date: 2025-12-15
  Bugfixes:
    - 修复了时刻表在堵塞解除后可能发生的死循环问题 (Schedule Loop Fix): 采用了更稳健的 SE 风格时刻表转移逻辑。通过优先清理防堵塞路障并正确回退索引,确保列车在传送后能正确指向逻辑上的下一站,彻底解决了当传送门为时刻表最后一站时可能导致的路径死循环问题。
Version: 0.5.2
Date: 2025-12-12
  Features:
    - 性能优化。
Version: 0.5.1
Date: 2025-12-10
  Features:
    - 修复了出口火车与前车自动连挂的问题 (Auto-Coupling Fix): 彻底重构了出口净空检测逻辑。检测区域从一个固定的小方块扩展为一个精准的、指向出口方向的长条形区域,确保前一列车完全驶离安全距离后,后一列车才会开始传送。
Version: 0.5.0
Date: 2025-12-10
  Features:
    - 实现了完整的铁路信号支持 (Traffic Light Support): 现在的出口列车不再强制锁定为手动模式,而是能够像太空电梯一样尊重铁路信号。如果出口前方是红灯,列车将自动减速停车,不再会发生“闯红灯”或穿模事故。
    - 引入了“步步为营”的状态恢复机制 (Step-by-Step State Restoration): 每传送一节车厢,都会立即恢复列车的自动模式和时刻表,确保引擎能实时计算路径和信号状态。
  Bugfixes:
    - 修复了“车头面壁”导致的死锁问题 (Nose-In Deadlock Fix): 修正了在默认建筑方向下,单节车头面朝死胡同传送时,因物理空间拥挤导致拖船无法生成的问题。现在脚本会智能检测此情况并动态偏移生成坐标。
    - 修复了时刻表转移的副作用: 修正了 ScheduleHandler 在转移时刻表时隐式开启自动模式,导致第一节车厢在连接拖船前报 "No Path" 的问题。
Version: 0.4.1
Date: 2025-12-09
  Bugfixes:
    - 修复了小问题。
Version: 0.4.0
Date: 2025-12-08
  Bugfixes:
    - [核心修复] 修复了因加载时机问题(`defines` 表未就绪)导致在 `control.lua` 中注册 on_load 事件时游戏报错的问题。
    - [核心修复] 修复了 `teleport.lua` 模块因日志函数注入时机不当,导致在 SE 环境下无法正确获取事件 ID 的问题。
    - [核心修复] 修复了因碰撞器重建坐标计算错误,导致传送一次后失效的 Bug。现在建筑在任何方向都能正确重建碰撞器。
  Performance:
    - [重大优化] 参照 Railjump 模组,为建造、拆除、死亡等高频事件增加了过滤器,彻底解决了因大量实体(如虫子)死亡/建造而导致的爆发性卡顿 (UPS drop)。
    - [重大优化] 参照 Railjump 模组,重构了传送逻辑的 on_tick 循环,引入“活跃列表”机制,大幅降低了模组在待机状态下的性能消耗。
  Changes:
    - [开发] 新增了“重置所有碰撞器”的紧急修复功能(位于 设置 -> 模组设置 -> 地图),并更新了物品说明。
Version: 0.3.3
Date: 2025-12-06
  Bugfixes:
    - [核心修复] 修复了在 Space Exploration (SE) 环境下,传送后的列车无法被 Cybersyn 正确识别,导致重复派单或装卸货失败的严重 Bug。
    - [修复] 修正了模组加载逻辑,确保能在启动时正确获取 SE 的传送事件 ID,这是解决上述问题的根本原因。
  Changes:
    - [兼容性] 在 `info.json` 中添加了对 Space Exploration 的可选依赖,以优化模组加载顺序。
    - [开发] 优化了 `teleport.lua` 模块的日志系统,使其不再依赖 control.lua 的注入,调试信息更可靠。
Version: 0.3.2
Date: 2025-12-06
  Bugfixes:
    - [核心修复] 修复了通过“新建蓝图”功能 (Alt+B) 创建的蓝图无法放置,并提示“包含不可旋转实体”的严重 Bug。现在所有方式创建的蓝图都可以正常旋转和放置。
  Features:
    - [视觉] 为 GUI 交互核心 (Core) 新增了动态的“虚空迷雾”特效贴图。
    - [视觉] 为建筑内部铁轨新增了定制的科幻风格贴图。
    - [视觉] 为建筑主体增加了发光的动态警示条纹,提升了视觉效果和辨识度。
Version: 0.2.0
Date: 2025-12-06
  Features:
    - [重大更新] 新增无 Space Exploration (SE) 环境下的 Cybersyn 支持。现在即使在原版游戏中,也可以利用 RiftRail 进行跨地表或远距离的 Cybersyn 物流运输。
    - [智能调度] 内置了专用的调度拦截器 (Scheduler),能够自动识别 Cybersyn 的跨地表任务,并在时刻表中自动插入最近的传送门站点。
    - [数据保护] 实现了传送过程中的“数据快照与恢复”机制,防止 Cybersyn 在无 SE 环境下因列车实体销毁而误删发货单或丢失列车状态。
  Compatibility:
    - [互斥逻辑] 增加了与 Railjump (zzzzz) 模组的智能互斥检测。如果列车时刻表中已经包含 Railjump 的站点,RiftRail 将自动避让,防止双重调度导致死循环。
Version: 0.1.4
Date: 2025-12-06
  Bugfixes:
    - 修复了当 RiftRail 建筑在飞船上降落时,会导致同地表对下的其他 Cybersyn 连接(如 SE 太空电梯)被错误清除的问题。
    - 修复了当 RiftRail 连接cybersyn之后,同地表的其他建筑和cybersyn的连接会被断开的问题(如 SE 太空电梯)
Version: 0.1.3
Date: 2025-12-05
  Bugfixes:
    - [核心修复] 彻底重写了与 Cybersyn 的兼容逻辑,修复了以下严重 BUG:
    - 修复了当 RiftRail 建筑在飞船上降落时,会导致同地表对下的其他 Cybersyn 连接(如 SE 太空电梯)被错误清除的问题。
  Features:
    - [开发] 新增了“开启调试日志”的模组设置(位于 设置 -> 模组设置 -> 地图)。现在可以在游戏中实时开启或关闭调试信息,无需重启游戏或重新打包。
  Changes:
    - 对所有脚本进行了代码风格统一和格式化,提高了代码的可读性和可维护性。
    - 移除了 teleport.lua 中冗余的调试函数定义。
Version: 0.1.1
Date: 2025-12-05
  Features:
    - [核心功能] 新增 Cybersyn 模组深度兼容(需安装se模组):
    - 传送门现在可以伪装成 SE 太空电梯,无缝接入 Cybersyn 物流网络。
    - 支持在 Space Exploration 飞船中使用:自动处理飞船起飞、降落时的物流连接状态(降落静默,起飞重连)。
    - 自动唤醒飞船上克隆后失效的 Cybersyn 组合算分器。
    - [设置] 新增“显示 Cybersyn 状态通知”的模组设置。
  Changes:
    - 优化了实体克隆与销毁时的事件拦截逻辑,确保数据清理更干净。
Version: 0.0.13
Date: 2025-12-01
  Features:
    - [传送体验]
  Bugfixes:
    - [性能优化] 略微降低了在传送过程中,Lua 脚本的计算负载。
Version: 0.0.12
Date: 2025-11-30
  Bugfixes:
    - 修复了点击配对按钮之后游戏报错的问题。
Version: 0.0.11
Date: 2025-11-30
  Features:
    - [传送体验] 实现了动量守恒的出站逻辑。列车在传送完成后不再减速或卡顿,而是以进入时的速度顺滑地“弹射”出站。
    - [复杂编组] 全面支持各种复杂的列车编组(如双头列车、机车推行货车、倒车入库等)。无论列车的主车头位于何处,脚本都能智能判断并赋予正确的出站动力。
  Bugfixes:
    - [方向修复] 重写了跨地表传送的朝向计算算法。彻底修复了在特定出口方向下,列车车头朝向错误(如“屁股朝外”)的问题,现在完美支持所有 16 种进出方向组合。
    - [API修复] 修复了 Trying to change direction of automatic train 报错。通过引入延迟一帧(Tick+1)的速度恢复队列和智能试错机制,彻底解决了自动模式下修改速度导致的崩溃问题。
    - [实体属性] 修复了爆炸或范围伤害会导致内部组件(如核心、铁轨)受损且无法维修的问题。现在所有内部组件均免疫伤害,不再出现“幽灵血条”,只有建筑外壳可被攻击并支持机器人维修(之前版本放置的建筑需要重建才会应用)。
  BLocale:
    - [本地化] 移除了 GUI 代码中所有残留的硬编码文本。现在配对列表状态、错误提示、预览窗口标题等均已完全本地化,支持中英双语切换。
Version: 0.0.10
Date: 2025-11-28
  Bugfixes:
    - 修复了传送过后GUI不会被正确关闭的问题。
Version: 0.0.9
Date: 2025-11-28
  Changes:
    - 优化了一下GUI界面,不再会看到一个箱子的界面了。
Version: 0.0.8
Date: 2025-11-27
  Changes:
    - 删除了大量无用代码块,修复了一切顽固问题,现在一切趋于正常。
Version: 0.0.7
Date: 2025-11-27
  Bugfixes:
    - 修复了顽强的车组信息丢失问题。
Version: 0.0.6
Date: 2025-11-27
  Bugfixes:
    - 修复了多节列车传送后时刻表指引不正确的问题。。
Version: 0.0.5
Date: 2025-11-27
  Bugfixes:
    - 修复了传送火车过后丢失临时站点的问题。
Version: 0.0.4
Date: 2025-11-27
  Bugfixes:
    - 修复了传送火车过后丢失车组信息和中断机制的问题。
Version: 0.0.3
Date: 2025-11-27
  Changes:
    - [交互体验] 优化了放置器的网格吸附逻辑。现在允许玩家手动将建筑对齐到铁轨网格,消除了放置时强制跳格产生的视觉偏移。如果玩家没有对准铁路网格,会被脚本强行偏移到铁路网格坐标上,玩家将会看到放置的坐标虚影与实际放置的位置不一致。
    - [稳定性] 禁止了裂隙铁路主体 (Entity) 在建造后的旋转功能。这防止了因误触 R 键旋转主体导致内部组件(如 GUI 核心、铁轨)与外壳错位或“消失”的问题。(注:放置器仍可自由旋转以决定建造方向)。
Version: 0.0.2
Date: 2025-11-26
  Features:
    - [SE兼容] 新增对 Space Exploration (太空探索) 模组的完全支持。监听了实体克隆事件,现在飞船起飞/降落时,传送门的数据(ID、配对关系、模式)会自动迁移,不再丢失。
    - [蓝图系统] 全面支持蓝图功能。现在可以使用 Ctrl+C 复制建筑配置(名称、图标、模式),并支持机器人建造后自动恢复这些设置。
    - [交互体验] 支持使用 Shift+右键/左键 在不同传送门之间快速复制/粘贴配置。
    - [交互体验] 修复了 Q 键 (Pipette) 吸取功能,现在对准建筑按 Q 可以正确选中放置器。
  Bugfixes:
    - [物理逻辑] 修复了紧密排布时,出口模式的刷新逻辑会误删相邻入口碰撞器的问题。将范围检测改为精准定点清除,杜绝误伤。
  Changes:
    - [撤销支持] 修改了 GUI 核心 (Core) 的交互属性,使其不可直接被拆除。现在拆除操作统一由主体 (Shell) 触发,从而完美支持 Ctrl+Z 撤销/复活功能。
Version: 0.0.1
Date: 2025-11-25
  Features:
    - 初始版本发布。
    - 实现了完整的火车内容、时刻表和乘客传送。