Files
Workspace/Assets/Demos/ReplacedPerson/Docs/MODDING.md
T
2026-08-17 18:18:13 +08:00

1.6 KiB
Raw Blame History

Mod 开发

公共接口

纯规则层位于 ReplacedPerson.Core,可在 Unity 和 .NET 8 独服中使用:

  • IReplacedPersonMod
  • IReplacedPersonRegistry
  • IReplacedPersonEffectResolver
  • ReplacedPersonModManifest

可注册卡牌、结束牌、敌人、奖励、剧情、规则效果和命令。联网规则不得依赖 Unity 类型。Unity 适配层通过 ShrinkModFramework 生命周期把规则实现注册到 replaced-person.modsAutoApplyHarmonyPatches 应保持关闭。

审计训练 Mod

示例位于 Assets/Demos/ReplacedPerson/Mods/ExampleGreedMod/,包含:

  • 普通牌“审计”:反击类型,触发正式效果解析器后恢复 1 COST。
  • 训练敌人“训练用审计员”。
  • 奖励、短剧情和 example audit 命令。
  • 纯规则程序集和可选 Unity 适配程序集。
  • 内容 JSON、PNG 图标和严格文件哈希清单。

构建并打包:

./GeneratedServers/ExampleGreedMod.Rules/pack-mod.ps1

输出:

Artifacts/ReplacedPersonMods/ExampleGreedMod-1.0.0.zip
GeneratedServers/ReplacedPerson.ServerHost/Mods/ExampleGreedMod/

包结构

ExampleGreedMod/
  manifest.json
  content.json
  icon.png
  ExampleGreedMod.Rules.dll
  ExampleGreedMod.Unity.dll   # 可选,仅 Unity 端需要

manifest.jsonfiles 必须覆盖包内所有参与联网兼容判断的文件,并写入小写 SHA-256。独服启动时先校验文件,再加载纯规则 DLL;当前房间保留不可变内容快照,reload-mods 只影响之后创建的房间。

不可信 DLL 不在本 Demo 的安全边界内。服务器管理员只应安装可信来源的规则程序集。