API 参考 / 能力接口(capability 包)
能力接口
包 com.seecmd.mod.api.capability 是模组与宿主之间的原语面:宿主把「能做哪些事」拆成一组按类型取用的接口,模组不直接持有宿主内部对象,只通过能力接口操作游戏。这样宿主可以按场景装配能力(游玩时才有 GameStateAccess,其它场景取不到),也可以在模组停用时统一回收。
能力分两类来源:
- 宿主回填:宿主在对应时机把实现注册进能力注册表,模组只读不写(如
GameStateAccess、AudioAccess、SceneHost)。 - 模组提供:模组实现接口实例交给宿主(如
GameplayHud经GameplayMod.createGameplayHud(),LaneInputMapper经GameplayMod.createLaneInputMapper()),或自行register进注册表。
嵌入宿主(第三类注册者,2026-10-14):外部程序把游戏内核当库用时(独立谱面编辑器、回放 / 观战工具),它在本进程内即宿主,可经宿主级入口注册能力——典型用法是为自己不支持的能力注册"响亮退化"实现(转写为自身通知 / 日志告警,而非静默成功)。这类程序只驱动部分子系统,其语境下
capabilities().get(...)对多数能力返回null,模组必须判空。