[KSP] 安装了 Realfuels 后如何让你的原版燃料箱可选择多种类型
前言
在原版安装了 Realfuels 和配置文件后,是否发现原版的燃料箱根本不能自己选择类型(Tank type)?搜索了半天还需要安装一个 Procedural Parts?本篇将教会你如何通过写一个 MM patch 文件来让所有的原版燃料箱甚至是其他 Mod 的燃料箱在 realfuels 里能够像 Procedural Parts 一样自定义类型,效果如下图:

前置
首先游戏必须已安装了 Module Manager,如果你是用CKAN安装的话,那在安装realfuels的时候会自动安装。如果是手动安装,请确保游戏 GameData 目录下存在且只有一个ModuleManager.4.2.2.dll 文件。
此外还需要一个文本编辑器,同样的,我推荐使用 VS Code,因为它有 KSP Config 的高亮插件。
MM Patch
首先在游戏的 GameData 目录下新建一个文本文件,建议使用英文命名,然后将后缀 .txt 改成 .cfg,然后复制下方的 patch 内容到文件里:
Patch 原理
其实很简单,就是让 Module Manager 找到所有 name 为 ModuleFuelTanks 的 MODULE 的 PART,然后在 FINAL (即最后再应用,为了避免其他 mod 的干扰) 阶段为这些 PART 里面的 MODULE 节点中添加我们的可选类型。
一些说明:
查询所有的 PART 节点
:HAS 块表示条件查询,即存在有 MODULE 节点且 name = ModuleFuelTanks
当 GameData 目录下满足任一条件:
存在有 RealFuels 目录
存在有一个程序集名称为 RealFuels 的 dll 文件
其他 Patch 文件中存在有 :FOR[RealFuels] 代码块
该Patch执行。
在其他所有的非FINAL patch 都执行完毕后才执行此 patch
如果只想要特定的燃料箱有可选类型,可以找到那个燃料箱的 name 然后写一个单独的 patch,比如我现在只想要 FL-T400 这一个燃料箱能够自定义类型,其他都保持原样,那么你可以这样写
更多 MM 语法请参考 MM 的wiki: https://github.com/sarbian/ModuleManager/wiki
或是我翻译了部分的 wiki:https://github.com/tinygrox/ModuleManager/wiki