SCML Mod 开发技能
Estimated reading time: 4 minutes本技能帮助 AI 助手为 SugarCube-2 ModLoader (SCML) 游戏创建和调试 Mod。适用于所有基于 SC2 的游戏,主要面向 Degrees of Lewdity (DoL)。
适用场景
当你需要以下操作时,此技能会自动触发:
- 创建新的 Mod 并生成
boot.json - 选择合适的脚本加载阶段
- 使用 AddonPlugin 依赖其他 Mod
- 使用 ModUtils API 进行 Mod 间通信
- 替换 Passage 或图片内容
- 打包
.mod.zip文件 - 排查 Mod 加载问题
快速开始
1. 创建 Mod 目录结构
2. 编写 boot.json
3. 打包
将所有文件(不含外层文件夹)压缩为 .mod.zip 格式。boot.json 必须位于 zip 根目录。
Tip
详见 创建 Mod 完整教程。
脚本阶段选择
Warning
boot.json 要点
必需字段(即使为空也必须存在):
AddonPlugin 依赖:
详见 boot.json 完整参考。
内置 Mod 与 Addon
详见 内置 Mod 与子模块。
API 速查
ModUtils (window.modUtils)
生命周期钩子
详见 ModUtils 参考、生命周期钩子、AddonPlugin 系统。
Twee 文件格式
同名 Passage 会覆盖原游戏内容。多个 Mod 同名 Passage:后加载的优先。
常见陷阱
- boot.json 不在 zip 根目录 — 直接打包文件,不要打包包含文件的文件夹
- 路径大小写不匹配 — boot.json 中的路径必须与 zip 内路径完全一致(区分大小写)
- earlyload/preload 未使用 IIFE — 必须使用
(async () => { ... })()格式 - 在 inject_early 中执行异步操作 — 此阶段不支持 async,不会被 await
- 过早调用其他 Mod 的 modRef — 使用 preload 或更晚阶段进行跨 Mod 调用
- 图片路径冲突 — 使用唯一的、带命名空间的路径
