Skip to content

系统属性 ​

插件提供了一些属性,供大家使用和参考。系统属性使用 Groovy 编写。

所有属性脚本文件均可更改或删除。删除后会重新生成,若不想重新生成,可在 config.yml 中将 create system resource file 设置为 flase 来取消创建默认文件(所有 scripts 下中的文件都不会创建)

默认属性 ​

scripts\attributes\attack 下

属性文件名属性类型描述
命中几率命中几率.groovyATTACK_AND_DEFENSE攻击命中目标的概率
闪避几率命中几率.groovyDEFAULT每1点可抵消1点命中几率
物理攻击物理攻击.groovyATTACK_AND_DEFENSE基础物理攻击力
物理护甲物理攻击.groovyDEFAULT基础物理防御力
物理穿透物理攻击.groovyDEFAULT每1点可无视1点物理护甲
暴击几率物理攻击.groovyDEFAULT触发暴击的概率
暴击伤害物理攻击.groovyDEFAULT暴击时造成的伤害倍率
暴击规避物理攻击.groovyDEFAULT每1点可抵消1点暴击几率
暴伤抵抗物理攻击.groovyDEFAULT每1点可降低1点暴击伤害倍率
吸血几率物理攻击.groovyDEFAULT触发生命窃取的概率
吸血倍率物理攻击.groovyDEFAULT生命窃取的治疗量倍率
吸血规避物理攻击.groovyDEFAULT每1点可抵消1点吸血几率
吸血抵抗物理攻击.groovyDEFAULT每1点可降低1点吸血倍率
减速几率减速几率.groovyATTACK_AND_DEFENSE使目标触发减速效果的概率
减速效果减速几率.groovyDEFAULT减速状态下的移动速度降低幅度
减速时间减速几率.groovyDEFAULT减速效果的持续时间(秒)

scripts\attributes\update 下

属性文件名属性类型描述
实体默认属性实体默认属性.groovyUPDATE_AFTER实体默认拥有的基础属性集合
生命值生命值.groovyUPDATE_AFTER实体的最大生命值上限
移速加成移速加成.groovyUPDATE_AFTER实体基础移动速度的额外加成
移速加成移速加成.groovyUPDATE_AFTER实体基础移动速度的额外加成
体型加成体型加成.groovyUPDATE_AFTER实体的尺寸(1.20.5+)
攻击范围攻击范围.groovyUPDATE_AFTER玩家对实体的交互距离(1.20.5+)

scripts\attributes\runtime 下

属性文件名属性类型描述
生命恢复生命恢复.groovyRUNTIME_AFTER玩家每隔若干秒自动恢复的生命值量

scripts\attributes 下

属性文件名属性类型描述
战斗力战斗力.groovyDEFAULT凭空直接提升战斗力的数值
攻击间隔攻击间隔.groovyDEFAULT控制武器或弓箭的攻击原版冷却时间

GroovyAttribute ​

随便打开一个文件,都可以看到它有着 ... extends GroovyAttribute 这样的内容,这是它继承了 GroovyAttribute 这个类,是位于 scripts\libs 文件夹下的一个抽象类

它额外提供了一个 GroovyAttribute(AttributeType type, AttributeName attributeName) 构造方法,方便我们配合 AttributeName 管理属性配置

具体请看 GroovyAttribute

AttributeName ​

随便打开一个属性脚本文件,都可以看到 AttributeName.xxxx 之类的东西,AttributeName 是位于 scripts\libs 文件夹下的一个枚举类

它记录了属性的 id name priority power max,这样非常便于我们管理属性 具体请看 使用枚举类管理

修改默认属性 ​

大部分时候,我们会修改默认属性的 id name priority power max。

我们需要找到 scripts\libs\AttributeName.groovy 这个文件,他的结构是这样的

Groovy
package scripts.libs

import groovy.transform.CompileStatic

@CompileStatic
enum AttributeName {

    // ———— 枚举条目:id, name, priority, power, max ————
    HIT_CHANCE("HIT_CHANCE", "命中几率", 1, 1.0D, -1),
    // ... 其他
}

这里的 XXX( 和 ) 包裹的部分就是属性的 id name priority power max,注意格式按需修改即可,如下(不懂的话不建议改 id)

Groovy
HIT_CHANCE("HIT_CHANCE", "命中率", 1, 10.0D, 100)

提示

若想修改属性的计算公式、处理逻辑等更为复杂的内容,需要你直接修改脚本文件本身。