能力 (Power)

能力(Power)是起源模组的最基本概念,各种独特的起源都是由不同的能力实现的。

1.17-1.0.0版本前,能力系统由起源模组本身提供支持。

1.17-1.0.0版本后,能力系统由起源模组的前置模组Apoli提供支持。

能力系统提供近百种基本能力类型(Power Type),条件(Condition)与行动(Action),可以组合出种类近乎无限的独特能力。

能力由数据包中的 data/<命名空间>/powers/<能力名称>.json 定义,并拥有 <命名空间>:<能力名称> 格式的命名空间ID。

能力的数据包格式依能力类型不同而不同,此处无法详细介绍,数据包或模组开发者可以到起源的官方WIKI进一步了解。


起源模组也提供了一些与能力相关的命令:

/power clear <targets>:清除目标的所有能力。<targets> 可为目标选择器,玩家名或UUID。

/power grant <targets> <power> [<source>]:给予目标一项能力。<targets> 同上。<power>为要给予的能力的命名空间ID。<source>为能力的来源,格式为命名空间ID,可选,默认为 apoli:command,由起源提供的能力来源默认为该起源的命名空间ID。

/power has <targets> <power>:检查目标是否有某一项能力。<targets>,<power> 同上。也可写作 /origin has power <targets> <power>。

/power list <target>:列出目标拥有的所有能力。<target> 可为目标选择器,玩家名或UUID,但只能指定至多一个目标。

/power remove <targets> <power>:移除目标的一项能力。<targets>,<power> 同上。

/power revoke <targets> <power> [<source>]:剥夺目标的一项能力。<targets>,<power>,<source> 同上。

/power revokeall <targets> [<source>]:剥夺目标的来自特定来源的所有能力。<targets>,<power>,<source> 同上。

/power sources <target> <power>:列出目标拥有的一项能力的所有能力来源。<target>,<power> 同上。


自Apoli的2.0.0版本(对应起源版本1.17.1-1.1.0)起,能力可以被定义在物品的NBT中,并在装备到特定槽位时生效。

短评加载中..