模组:能力
← 目录
此页面解释游戏如何存储和解析特殊物品与能力的数据。这是面向模组开发者的高级指南。
概览
特殊物品与能力是每个玩家只能获取一次的特殊“物品”,它们能永久解锁新能力。关于能力的信息存储在 Data/Powers 中。然而素材文件本身并不能赋予玩家任何能力。素材文件中只包含能力的解锁条件信息及其在菜单中的显示信息。
数据格式
您可以通过编辑 Data/Powers 数据素材来添加或修改特殊物品与能力。
此素材文件内含一个“字符串 → 数据模型”查询,其中:
- 键为能力的唯一字符串 ID 。
- 值为包含如下字段的数据模型:
| 字段 | 描述 |
|---|---|
| DisplayName | 一个模板字符串,用于显示能力解锁后的译名。 |
| Description | (可选)一个模板字符串,用于显示能力描述的译文。 |
| TexturePath | 能力图标所在贴图集的素材名称。 |
| TexturePosition | 能力图标在贴图集中的位置,相对于左上角。此字段应当指定为包含 X 和 Y 字段的数据模型。能力贴图尺寸必须恰为 16x16 像素。 |
| UnlockedCondition | 一个游戏状态查询,也即能力的解锁条件。 |
| CustomFields | (可选)此条目的自定义字段。 |
例如,下面的 Content Patcher 内容包添加了一个自定义的河豚鱼能力,它在玩家抓到河豚鱼后解锁:
{
"Format": "2.7.0",
"Changes": [
// 加载图标
{
"Action": "Load",
"Target": "Mods/{{ModId}}/PufferIcon",
"FromFile": "assets/PufferIcon.png"
},
// 添加能力
{
"Action": "EditData",
"Target": "Data/Powers",
"Entries": {
"{{ModId}}_Pufferpower": {
"DisplayName": "Puffer's Blessing",
"Description": "You feel as if you have become one with the pufferfish...",
"TexturePath": "Mods/{{ModId}}/PufferIcon",
"TexturePosition": {
"X": 0, // 此示例中用到的图标位于贴图集左上角。请根据实际情况调整坐标。
"Y": 0
},
"UnlockedCondition": "PLAYER_HAS_CAUGHT_FISH Current 128", // 玩家抓到了河豚
}
}
}
]
}

沪公网安备 31011002002714 号