系统属性
插件提供了一些属性,供大家使用和参考。系统属性使用 Groovy 编写。
所有属性脚本文件均可更改或删除。删除后会重新生成,若不想重新生成,可在 config.yml 中将 create system resource file 设置为 flase 来取消创建默认文件(所有 scripts 下中的文件都不会创建)
默认属性
scripts\attributes\attack 下
| 属性 | 文件名 | 属性类型 | 描述 |
|---|---|---|---|
| 命中几率 | 命中几率.groovy | ATTACK_AND_DEFENSE | 攻击命中目标的概率 |
| 闪避几率 | 命中几率.groovy | DEFAULT | 每1点可抵消1点命中几率 |
| 物理攻击 | 物理攻击.groovy | ATTACK_AND_DEFENSE | 基础物理攻击力 |
| 物理护甲 | 物理攻击.groovy | DEFAULT | 基础物理防御力 |
| 物理穿透 | 物理攻击.groovy | DEFAULT | 每1点可无视1点物理护甲 |
| 暴击几率 | 物理攻击.groovy | DEFAULT | 触发暴击的概率 |
| 暴击伤害 | 物理攻击.groovy | DEFAULT | 暴击时造成的伤害倍率 |
| 暴击规避 | 物理攻击.groovy | DEFAULT | 每1点可抵消1点暴击几率 |
| 暴伤抵抗 | 物理攻击.groovy | DEFAULT | 每1点可降低1点暴击伤害倍率 |
| 吸血几率 | 物理攻击.groovy | DEFAULT | 触发生命窃取的概率 |
| 吸血倍率 | 物理攻击.groovy | DEFAULT | 生命窃取的治疗量倍率 |
| 吸血规避 | 物理攻击.groovy | DEFAULT | 每1点可抵消1点吸血几率 |
| 吸血抵抗 | 物理攻击.groovy | DEFAULT | 每1点可降低1点吸血倍率 |
| 减速几率 | 减速几率.groovy | ATTACK_AND_DEFENSE | 使目标触发减速效果的概率 |
| 减速效果 | 减速几率.groovy | DEFAULT | 减速状态下的移动速度降低幅度 |
| 减速时间 | 减速几率.groovy | DEFAULT | 减速效果的持续时间(秒) |
scripts\attributes\update 下
| 属性 | 文件名 | 属性类型 | 描述 |
|---|---|---|---|
| 实体默认属性 | 实体默认属性.groovy | UPDATE_AFTER | 实体默认拥有的基础属性集合 |
| 生命值 | 生命值.groovy | UPDATE_AFTER | 实体的最大生命值上限 |
| 移速加成 | 移速加成.groovy | UPDATE_AFTER | 实体基础移动速度的额外加成 |
| 移速加成 | 移速加成.groovy | UPDATE_AFTER | 实体基础移动速度的额外加成 |
| 体型加成 | 体型加成.groovy | UPDATE_AFTER | 实体的尺寸(1.20.5+) |
| 攻击范围 | 攻击范围.groovy | UPDATE_AFTER | 玩家对实体的交互距离(1.20.5+) |
scripts\attributes\runtime 下
| 属性 | 文件名 | 属性类型 | 描述 |
|---|---|---|---|
| 生命恢复 | 生命恢复.groovy | RUNTIME_AFTER | 玩家每隔若干秒自动恢复的生命值量 |
scripts\attributes 下
| 属性 | 文件名 | 属性类型 | 描述 |
|---|---|---|---|
| 战斗力 | 战斗力.groovy | DEFAULT | 凭空直接提升战斗力的数值 |
| 攻击间隔 | 攻击间隔.groovy | DEFAULT | 控制武器或弓箭的攻击原版冷却时间 |
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 这个文件,他的结构是这样的
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)
HIT_CHANCE("HIT_CHANCE", "命中率", 1, 10.0D, 100)提示
若想修改属性的计算公式、处理逻辑等更为复杂的内容,需要你直接修改脚本文件本身。
