Skip to content

fix: 分离多方块重载复检与结构失效 - #27

Closed
takanashisatou wants to merge 1 commit into
ctnhfrom
codex/kinetic-reload-lifecycle
Closed

takanashisatou wants to merge 1 commit into
ctnhfrom
codex/kinetic-reload-lifecycle

Conversation

@takanashisatou

@takanashisatou takanashisatou commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

改动

  • 将已确认结构快照、待复检状态和可运行状态分开:临时卸载只暂停运行并保留归属,确定失效才退役、解绑。
  • 结构检测改为主线程有界队列;每维度每 tick 最多启动一次完整检测,失配退避,未加载区块停放并由区块事件唤醒。2 ms 是启动扫描的软预算,不是单次扫描的硬上限。
  • 持久化控制器 epoch、精确部件绑定和退役记录,处理当前格式下控制器/部件/SavedData 非原子保存顺序;确认几何与写时复制缓存避免重启时误判动态或翻转结构。
  • 将工作逻辑、计算网络、洁净室及有副作用的部件直接迁移到新生命周期。
  • 删除旧异步检测入口和旧接口转发,不保留旧 API 桥或旧存档格式迁移;新增生命周期与调度 GameTest。

验证

  • Java 17;:modules:GregTech-Modern:compileTestJava 通过。
  • :modules:GregTech-Modern:runGameTestServer 通过:162 项测试运行完成,必需测试全部通过。
  • 2 项既有可选测试仍失败:blocked_by_ldlib_weirdness_probably_test_advanced_activity_detector_coveronly_works_in_game_generates_energy_at_day_test
  • 配套 CTPP GameTest 12/12 通过;本次变更 Java 的 Spotless 校验与 git diff --check 通过。未扩展到基线已有的无关格式问题。
  • 无稳定复现存档,尚未完成真实整合包存档的重进/重启/跨区块人工验证。

配套合入

本 PR 属于同一组重载生命周期修复,6 个仓库均使用 codex/kinetic-reload-lifecycle 分支。GTM 提供新生命周期,CTPP 与 Core/Bio/Energy/Mana 直接迁移调用方;请整组集成验证后协调合入和发布,不将新 GTM 与未迁移附属模组混用。本组不增加旧 NBT 迁移或旧 API 桥接,也不提交 CTNH-Modules 父仓库的子模块指针。

关联 PR:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants