跳到主要内容

Mods 使用与开发指南·安装与发布攻略

Mods 是由用户创建的包,用来修改或扩展 shapez 2 —— 从简单的生活质量工具到新的机器、玩法特性、翻译或自定义场景。游戏原生支持 Mod 并定义了文件夹结构,方便安装、开发和分享 Mods。

把 Mods 和持久化数据放在哪

  • 游戏将持久化数据(包括 mods、自定义场景、预设,以及导出的基地数据)存放在游戏数据文件夹(即 Game Data Folder,亦称 Game Data 或 存档/游戏 文件夹)内。
  • 路径:
    • Windows: %USERPROFILE%\AppData\LocalLow\tobspr Games\shapez 2\
    • MacOS: ~/Library/Application Support/tobspr Games/shapez 2/
    • Linux: ~/.config/unity3d/tobspr Games\shapez 2/
  • 从游戏中打开该文件夹:
    • 主菜单 → Play → Show Folder,然后进入其父文件夹。
    • 游戏内 → Blueprint Library → Open Folder,然后进入其父文件夹。
    • 调试控制台命令:logs.open-folder 或 savegames.open-folder(注意:MacOS 的部分日志使用 入门.log)。

Mods 文件夹结构与安装

  • Game Data Folder 内的 mods 文件夹是放置本地加载 Mods 的位置。
  • 每个 mod 都是 mods 文件夹内的一个子文件夹。游戏会把每个子文件夹作为独立的 mod 加载。
  • 支持 Steam Workshop 的 mod,订阅后会自动下载。

Mod 开发资源与工具链

  • 官方与社区资源:
    • 开发者提供的官方 Mod 制作文档和美术/资源规范。
    • 示例 mod 和 Shapez Shifter(modding API)仓库可在 GitHub 上获取。
    • 非官方的社区文档可作为对官方文档的补充。
    • 有用的第三方工具文档:MonoMod RuntimeDetour 与 HarmonyX,用于运行时重定向与补丁。
  • 游戏使用 Unity(文档中注明了具体的 Unity 版本)和一个 Mod API(ShapezShifter)以简化集成;无需外部 mod 加载器。
  • 可用的程序集与类引用便于深入开发与调试。

从游戏中创建并导出可复用的游戏数据

  • 游戏可以导出其内部数据(基础内容,如实体、场景、预设)以便重用或参考:
    • 在游戏内打开调试控制台(F1)并运行 debug.export-game-data。
    • 这会在 Game Data Folder 内创建一个名为 basedata- 的文件夹。可使用其中的文件作为自定义 JSON 内容的模板。

自定义场景、预设与难度

  • 自定义场景:
    • 将场景 JSON 文件放入 Game Data Folder 内的 custom-scenarios 文件夹,游戏会加载它们。
    • 导出的游戏内场景文件会出现在导出 basedata 文件夹的 scenarios 文件夹中。
  • 自定义场景预设:
    • 将自定义场景预设 JSON 文件放入 Game Data Folder 的 custom-scenario-parameter-presets 文件夹。
    • 游戏内的场景预设位于导出 basedata 文件夹内的 scenario-parameter-presets 中。
    • 在选择一个 Scenario 时,内部列表中第一个指向该 Scenario 的 Scenario Preset 会被选为默认。
  • 自定义难度预设:
    • 目前游戏不支持直接以 JSON 文件加载自定义难度预设。你仍然可以在导出 basedata 文件夹的 difficulty-presets 中查看游戏内的难度预设。

自定义翻译

  • 要加载自定义翻译,请创建一个格式与 translations-en-US.json 相同的 translations-override.json 文件并放在游戏期望的位置。
  • 使用 --custom-translations 命令行参数启动游戏以加载覆盖文件。
  • 文件内的 LanguageTitle 会被忽略;语言设置中会显示为 “Custom”。缺失的键会回退到英文。

开发工作流程与调试

  • 典型工作流程:
    • 导出基础游戏数据以将现有 JSON 用作模板。
    • 按文档和美术规范在 mods 子文件夹中创建你的资源、代码和 JSON 定义。
    • 如需更改代码行为,可使用 Mod API(ShapezShifter)或运行时补丁库。
    • 将 mod 文件夹放入 mods 目录并启动游戏进行本地测试。
  • 游戏内提供调试控制台用于命令和故障排查。
  • 建议参考调试与运行时补丁文档以及社区示例(示例 mod)作为参考。

发布与分享 Mods

  • Steam 创意工坊:
    • 可以将 Mods 发布到 Steam 创意工坊以实现自动分发。
  • 社区分享:
    • 蓝图与内容也可以通过 Community Vortex 网站和官方 Discord(#🛠blueprints)分享。
  • 发布时遵循游戏的 Mod 发布与资源规范,以避免冲突或资源损坏。

主题与高级注意事项

  • 文档中涵盖的相关 Mod 制作主题:
    • Mod 概览、开发环境、Mod 加载、调试、Mod 发布、命令行参数、游戏文件、自定义游戏模式、调试控制台。
  • 使用提供的示例 mod 与 API 参考来学习模式和最佳实践。
  • 在以 JSON 修改或添加内容(场景、预设、翻译)时,确保文件命名和放置与上文描述的期望文件夹匹配,游戏才能识别它们。

快速入门检查清单

  • 导出基础数据:打开调试控制台 → debug.export-game-data。
  • 在 Game Data Folder/mods/ 内创建 mod 文件夹并添加内容。
  • 对于自定义场景或预设,将 JSON 放入 custom-scenarios 或 custom-scenario-parameter-presets。
  • 对于翻译,创建 translations-override.json 并用 --custom-translations 启动游戏。
  • 在 Steam 创意工坊订阅/发布以分享或获取 Mods。
  • 查阅官方 Mod 文档、示例 mod 和 ShapezShifter 以获取代码示例和 API 使用说明。

本文提及的页面