Skip to content

可用变量

buffs/*.ymlattributes 配置中,公式可以使用以下变量:

变量含义类型示例值
levelBuff 等级整数1, 2, 3...
time剩余时间(tick)整数100, 80, 60...
duration总持续时间(tick)整数120

使用场景

这些变量用于 Buff 配置文件中的属性修改公式。

配置文件位置plugins/HNAttribute/buffs/*.yml


示例 1:基于等级的加成

yml
力量提升:
  display: "&c力量提升"
  default-time: 100
  attributes:
    attack_damage:
      operation: ADD
      formula: "10 + level * 5"
      # 1级 = 15 攻击力
      # 2级 = 20 攻击力
      # 3级 = 25 攻击力

示例 2:等级平方增长

yml
狂暴:
  display: "&c狂暴"
  default-time: 100
  attributes:
    attack_damage:
      operation: ADD
      formula: "level * level * 2"
      # 1级 = 2
      # 2级 = 8
      # 3级 = 18
      # 4级 = 32

示例 3:随时间衰减

yml
衰减效果:
  display: "&e衰减"
  default-time: 100
  attributes:
    attack_damage:
      operation: ADD
      formula: "level * 10 * (time / duration)"
      # 刚施加时:100% 效果
      # 剩余 50% 时间:50% 效果
      # 即将结束:接近 0

示例 4:随时间增强

yml
蓄力:
  display: "&a蓄力"
  default-time: 100
  attributes:
    attack_damage:
      operation: ADD
      formula: "level * 10 * (1 - time / duration)"
      # 刚施加时:0% 效果
      # 剩余 50% 时间:50% 效果
      # 即将结束:100% 效果

示例 5:时间阈值判断

yml
爆发:
  display: "&6爆发"
  default-time: 100
  attributes:
    attack_damage:
      operation: ADD
      formula: "time < 20 ? level * 50 : level * 10"
      # 最后 1 秒(20 tick):50 倍加成
      # 其他时间:10 倍加成

示例 6:多条件组合

yml
复杂Buff:
  display: "&d复杂Buff"
  default-time: 100
  attributes:
    attack_damage:
      operation: ADD
      formula: |-
        if (level >= 3 && time > 50) {
          return 100
        } else if (level >= 2) {
          return 50
        } else {
          return 20
        }
      # 3级且剩余时间>50:100 攻击力
      # 2级:50 攻击力
      # 1级:20 攻击力

注意事项

1. 时间单位是 tick

  • 1 秒 = 20 tick
  • time 是剩余时间,会递减
  • duration 是总持续时间,固定不变

2. 除零保护

当使用 timeduration 做除数时,注意保护:

yml
# ❌ 危险
formula: "100 / time"

# ✅ 安全
formula: "time > 0 ? 100 / time : 0"

3. 等级从 1 开始

Buff 等级最小值是 1,不是 0。


调试方法

使用命令查看 Buff 效果:

text
/hnattr buffs           # 查看当前所有 Buff
/hnattr lookup          # 查看最终属性值
/hnattr trace <属性ID>  # 查看属性计算过程

相关文档

HN 系列插件文档