Project MMO:Iron's Spells & Spellbooks 兼容

Project MMO:Iron's Spells & Spellbooks 兼容

添加Project MMO与Iron's Spells and Spellbooks之间的兼容性。

游戏机制

此模组需要 Project MMO 和 Iron's Spells and Spellbooks 1.20.1 版本

关于


这个兼容模组允许你使用数据包为法术添加技能要求。如果玩家不满足要求,就无法施放该法术。它还允许你按法术等级分别指定要求。这些要求可以配置为仅在从卷轴、法术书和/或剑施放时生效。你还可以设置这些要求来完全阻止玩家将法术抄写至法术书中。

此外,还有一个配置项,允许在玩家法术治疗另一名玩家时给予其经验值。这让治疗者/牧师类角色能够在支援其他玩家的同时真正提升技能等级。

指南


最简单的上手方式是加载目标世界并运行以下命令:

/pmmo_irons_compat genSpellData

我知道,一个命令里同时用了蛇形命名法和驼峰命名法,挺挑衅的。这会生成一个数据包,其中包含 Iron's Spells and Spellbooks 中当前启用的每个法术的默认配置。你可以修改这个数据包,然后删除未配置法术的 JSON 文件。你可以随时运行此命令来重新填充法术列表,它不会影响你已存在的 JSON 文件。

运行命令并生成数据包后,我将 fireball.json 文件修改为如下内容:

{
  "requirements": {
    "1": {},
    "2": { "magic":  5}
  },
  "default_requirements": {
    "magic": 10,
    "charisma": 2
  },
  "sources": [
    "scroll",
    "spellbook",
    "sword",
    "inscribe"
  ],
  "replace": true
}

"default_requirements" 键会为所有火球术等级添加要求。在此例中,所有火球术等级都需要魔法等级 10 和魅力等级 2 才能施放。

"requirements" 部分允许你为特定法术等级设置要求。在这个 json 中,1 级火球术现在没有施放要求。这会覆盖该特定法术等级的 "default_requirements"。2 级火球术被配置为需要 5 级魔法才能施放。其他等级的每级火球术则需要 10 点魔法和 2 点魅力才能施放。

"sources" 部分允许你指定何时应用这些要求、何时不应用。目前这会限制从卷轴、法术书和剑施放火球术。同时,除非你满足要求,否则不允许将火球术抄写至法术书中。例如,如果你希望某个法术可以从卷轴施放,你可以从 "sources" 列表中移除 "scroll",它就不再受限制。

"replace" 用于解决数据包冲突。如果有多个数据包对某个法术(比如火球术)应用了要求,那么 "replace": true 的数据包将覆盖任何设置为 false 的数据包。如果有多个数据包都设置了 "replace": true,则会使用最后加载的那个数据包。

这些都不是必需的;如果你只想为特定等级的法术添加要求,那就完全不要包含 "default_requirements"。如果你希望所有法术都有相同的要求,移除 "requirements" 并只使用 "default_requirements"。如果你省略 "sources",那么这些要求将不会应用到任何地方。到那时你直接删除 JSON 即可。

常见问题


我不会将此模组回溯移植或移植到 Fabric。我实在没有时间,而且往后我只会玩 1.20.1+ 版本。不过欢迎你自己去做!

你可以在任何整合包中使用此模组,但你不得以任何方式将其商业化,也不得将其发布到其他 Minecraft 网站。

万分感谢 Caltinor / Project MMO 团队一直以来的帮助以及提供项目源代码的访问权限。也感谢 Iron's Spells and Spellbooks 团队允许我合并了一些 PR 来发出事件,这样我就不必使用任何 mixin 来实现此功能。