跳到主要内容

技能定义

文件:data/<namespace>/saturn/ability/<path>.json。type 与该类型的专属字段直接写在顶层,公共字段也在同一对象中。类型目录见技能类型。

字段类型必填默认值说明
type技能类型 ID是—选择已注册技能实现。
costs费用数组否[]技能激活时的费用。
cast_time数值提供器否0施法 tick 数。
icon图标否省略贴图或物品模板。
charges充能设置否省略见下表。
condition实体条件否始终成立技能使用条件。
hidden布尔值否false从载体物品提示中隐藏;不等于禁止使用。

充能设置​

字段类型必填默认值说明
maximum数值提供器是—最大充能次数。
recharge_ticks数值提供器是—恢复一次充能所需 tick 数。

示例:消耗魔力治疗​

先创建资源定义中的 example:mana,再定义:

data/example/saturn/ability/heal.json
{
"type": "saturn:active",
"costs": [
{
"type": "saturn:resource",
"resource": "example:mana",
"amount": 10
}
],
"cast_time": 10,
"cooldown": 40,
"icon": {
"id": "minecraft:golden_apple"
},
"entity_action": {
"type": "saturn:heal",
"amount": 4
}
}

创建定义不会自动授予技能。通过宿主模组或 grant_ability 动作授予;来源 ID 决定移除哪一来源提供的技能。类型自动声明冷却、充能等必要存储,数据包通常无需手写运行时存储快照。