跳到主要内容

HolderWrapper

由 OriginsJS.getHolder(entity) 返回。它包装了实体的起源组件与能力组件。


起源方法​

setOrigin(layerId, originId)​

(layerId: string, originId: string) => void

设置特定起源层上的起源。

holder.setOrigin("origins:origin", "origins:avian");

clearOrigin(layerId)​

(layerId: string) => void

清除给定起源层上的起源。

hasOrigin(originId)​

(originId: string) => boolean

如果实体在 任意 起源层中都拥有给定起源,返回 true。

hasOriginInLayer(layerId, originId)​

(layerId: string, originId: string) => boolean

如果实体在 特定 起源层中拥有给定起源,返回 true。

hasLayer(layerId)​

(layerId: string) => boolean

如果该起源层已分配起源,返回 true。

getOriginId(layerId)​

(layerId: string) => string | null

返回该起源层的起源 ID,若没有则返回 null。

getAllOrigins()​

() => string[][]

返回由 [layerId, originId] 对组成的数组。

hasAllOrigins()​

() => boolean

如果每个起源层都已分配起源,返回 true。


能力方法​

grantPower(source, powerId)​

(source: string, powerId: string) => void

授予一个能力。

holder.grantPower("origins_js:script", "origins:fire_immunity");

revokePower(source, powerId)​

(source: string, powerId: string) => void

撤销一个能力。

revokeAllPowers(source)​

(source: string) => void

撤销从给定来源授予的 所有 能力。

hasPower(powerId)​

(powerId: string) => boolean

如果实体拥有给定能力,返回 true。

getAllPowerIds()​

() => string[]

返回实体当前持有的所有能力 ID。


资源 / 冷却方法​

方法签名备注
getResource(powerId)string => number在 1.20.1 上始终为 0
setResource(powerId, value)(string, number) => void1.20.1 不支持
addResource(powerId, delta)(string, number) => void1.20.1 不支持
getCooldown(powerId)string => number在 1.20.1 上始终为 0
startCooldown(powerId)string => void1.20.1 不支持
canUseCooldown(powerId)string => boolean1.20.1 不支持