Rift Rail (裂隙铁路)


非对称跨地表单向铁路传送门系统。当前为开发测试版本。

Content
13 hours ago
2.0
282
Transportation Logistics Trains Cheats

Changelog

Version: 0.6.8
Date: 2025-12-19
  Bugfixes:
    - [核心修复] 修复了传送完成后列车速度骤降的问题。原因是速度恢复逻辑错误地使用了入口时的低速(撞击减速后约 40 km/h),而不是传送过程中维持的高速(约 180 km/h)。现在通过在速度管理循环中持续保存出口列车速度,确保传送结束时恢复的是被推进器加速到的实际速度,消除了尾声卡顿。
  Maintenance:
    - 版本号提升至 0.6.8。
Version: 0.6.7
Date: 2025-12-19
  Changes:
    - [传送稳定性] 移除了 `teleport.lua` 中出口侧“强制连挂”逻辑,改为完全交由引擎自然连挂,避免潜在的异常连接与后续抖动。
    - [代码清理] 禁用 `util.lua` 中“方案A (get_inventories)”的备用通用转移路径,经运行期检索未命中,判定为冗余实现;保留注释方便回退。
  Maintenance:
    - 版本号提升至 0.6.7。
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:
    - 初始版本发布。
    - 实现了完整的火车内容、时刻表和乘客传送。