用途:面向星露谷物语模组开发,处理 SMAPI 及打包相关工作。适用创建或修改 C# SMAPI 模组,编写 ModEntry、Entry(IModHelper helper)、事件处理器、配置、数据、输入、内容、翻译、多人及集成代码;创建与校验 manifest.json;诊断构建错误、加载错误、运行时异常、缺失依赖、无效 JSON、资源问题和玩家日志;审查 PC 与 Android 兼容性;准备发布包、更新键、发布说明与兼容性声明;并帮助在 SMAPI API、Content Patcher、Reflection 与 Harmony 之间做选择。
不适用:一般玩法建议、非模组 C# 问题、像素画、剧情写作,以及不涉及 SMAPI 打包、清单、兼容性或模组架构的纯 content.json 语法任务。
使用方式:先确定目标平台(仅 PC、仅 Android 或两者兼有)、模组类型(C# 模组、内容包、框架模组或未知)和范围(创建、编辑、调试、审查、迁移或发布)。优先判断是否必须用 C#,若只改数据、图像、地图或对话,考虑内容包或 Content Patcher。改代码前先检查 manifest.json、.csproj、ModEntry.cs、配置模型、资源与日志。优先使用 SMAPI 官方 API(事件、内容、数据、输入、翻译、模组注册、多人 API 等),默认保持最小改动与跨平台。
跨平台要点:用 Path.Combine 处理路径,使用 Helper.DirectoryPath、ModContent、GameContent、Data,避免硬编码 Windows 路径与仅 PC 交互,用 KeybindList 做可配置输入,并考虑 UI 缩放与触控。Android 兼容性按实验性社区移植对待,未经测试不要声称兼容。
调试与发布:PC 可索取 https://smapi.io/log/ 日志链接,Android 索取启动器共享日志;检查版本、平台、跳过的模组与首个相关错误。发布前更新语义版本、校验更新键、检查生成的 zip 顶层结构是否含 manifest.json 与入口 DLL,不包含源码、临时文件、密钥或游戏与 SMAPI DLL。Harmony 作为最后手段,需 EnableHarmony 并谨慎处理 Android 与更新风险。
限制:本地参考文件应优先于网页;涉及最新版本、更新键行为或 Android 端口状态时才查官方页面。