Skip to content

这页优先回答当前版本最常见的三类问题:

  • 为什么装备属性不生效
  • 为什么 Buff 生效了但体感不对
  • 为什么 DOT / HOT / 周期实例没有按预期运行

改完配置后为什么没生效

先区分你改的是哪类文件。

改了注册表或系统配置

例如:

  • config.yml
  • read-patterns.yml
  • attributes/*.yml
  • damage_types/*.yml
  • pipelines/*.yml
  • display.yml
  • vanilla.yml
  • slot.yml
  • buffs/*.yml
  • periodic/settings.ymlperiodic/*.yml
  • mythicmobs.yml

通常要执行:

text
/hnattr reload

只想让某个玩家重新读一遍装备

text
/hnattr refresh <玩家名>

为什么装备有 Lore 但系统没加属性

按这个顺序查:

  1. /hnattr inspect
  2. 看 Lore 原文是不是你以为的那几行
  3. 看属性名称是否真的存在于 attributes/*.yml -> names
  4. read-pattern 是否匹配
  5. 看条件系统有没有把它卡掉
  6. skip-contains 是否跳过了整件装备

一句话:装备问题第一优先级永远是 inspect


为什么 Buff 模板写了但 /hnattr buff list 里没有

优先检查:

  1. 文件是否位于 buffs/*.yml
  2. 顶层 key 是否真的是 Buff key
  3. 是否至少定义了一条有效属性
  4. 引用的属性 ID 是否存在
  5. operation / formula 格式是否正确

为什么 Buff 模板有了,但施加后没效果

按这个顺序查:

text
/hnattr buff list
/hnattr buff apply <buffKey> 100 1
/hnattr buffs
/hnattr source
/hnattr trace <属性ID>

重点看两件事:

  • 运行时身上到底有没有这个 Buff
  • 这个 Buff 生成出来的修饰符有没有真的进入来源系统

为什么 REPLACEREFRESH 体感差不多

这是当前版本的运行时特征之一。

你可以简单理解成:

  • IGNORE:已有同 key Buff / 实例时直接跳过
  • REPLACE / REFRESH:当前都偏向覆盖刷新

如果你需要真正更明显的“叠层”或“合并”效果,优先看周期实例系统里的:

  • stack
  • merge

而不是指望 Buff 的 REPLACE / REFRESH 在体感上拉开很大差距。


为什么玩家受伤了但没有自动回血

当前版本默认回血已经不走旧的独立回血配置,而是走:

text
periodic/settings.yml
periodic/regen.yml

优先检查:

  1. periodic/regen.yml 里的 玩家脱战回血.enabled 是否为 true
  2. 装备或来源里是否真的给了 health_regen
  3. /hnattr trace health_regen 有没有值
  4. 当前是否还在战斗中
  5. periodic/settings.yml -> combat-timeout 是否太长

为什么周期效果不生效

先区分你用的是哪一种。

direct 模式

direct 模式不会生成实例列表,它是“扫描后直接执行动作”。

排查顺序:

  1. /hnattr reload
  2. enabled 是否开启
  3. selector 是否能选中目标
  4. condition 是否成立
  5. actions 是否真的配置了有效 amount

instance 模式 / Mythic 的 hna-dot / hna-hot

这类会生成运行中实例,可以直接查。

排查顺序:

text
/hnattr periodic list
/hnattr periodic inspect <key>
/hnattr periodic debug detail <key>

为什么 /hnattr periodic list 里什么都没有

最常见原因有三类:

  1. 你当前测的是 direct 模式,而不是 instance 模式
  2. 条件不成立,所以实例根本没创建
  3. 实例一创建就被 tick-condition + fail-policy: cancel 取消掉了

如果你不确定,直接打开:

text
/hnattr periodic debug basic

然后重新触发一次,看后台有没有:

  • prepare
  • apply
  • cancel
  • expire

这些事件。


为什么实例会自己消失

当前版本里实例被移除,最常见是这些原因:

  • 正常跑完了,触发 expire
  • tick-condition 失败,且 fail-policy: cancel
  • 来源实体失效,且实例配置要求来源失效时停止
  • 你手动执行了 periodic clear / clearpair / clearall

这时候:

text
/hnattr periodic debug detail <key>

最有价值,因为你能直接看到 cancelexpire 的事件日志。


为什么 MythicMobs 的 DOT / HOT 看起来没接入系统

现在 Mythic 的:

  • hna-dot
  • hna-hot

都已经接进统一周期 runtime 了。

所以如果你怀疑它没跑,优先查:

text
/hnattr periodic list
/hnattr periodic inspect <key>
/hnattr periodic debug detail <key>

而不是只盯 Mythic 控制台。


为什么周期 debug 开了还是没有日志

优先检查:

  1. 你开的是否是正确 key
  2. 当前 debug 是否被命令覆盖关闭了
  3. 这个实例是否根本没创建出来
  4. 配置里 settings.debug.key-filter 是否把它过滤掉了

先看:

text
/hnattr periodic debug status

为什么 PlaceholderAPI 读到的是 0 或空

常见原因:

  1. 玩家不在线
  2. 属性 ID 拼错了
  3. 这个属性根本没注册
  4. 你看的不是最终会变化的那个属性

建议先用:

text
/hnattr lookup
/hnattr trace <属性ID>

确认服务端内部值到底是多少,再回去看占位符。

如果你只是想先确认占位符格式有没有写错,直接看:


为什么 MythicMobs 怪物没读到属性

优先检查:

text
mythicmobs.yml

当前默认会按顺序读取:

  • Attribute
  • attribute

如果你怪物配置里写的是别的标签名,例如:

  • Stats
  • Attr
  • HNAttribute

那就要同步把它加到 mythicmobs.yml 里。

注意:/hnattr inspect/hnattr trace 等命令只能查玩家属性,不能直接查怪物。要验证怪物属性是否正确加载,推荐开启 /hnattr debug debug 后攻击怪物,看控制台输出的战斗管线日志。


为什么改了 Java 代码注入的来源,但 source 看起来很乱

因为 HNAttribute 是按 source 分组管理修饰符的。

如果你给程序注入来源时随便命名,就会导致:

  • /hnattr source 不好读
  • /hnattr trace 不好排
  • 后续也不好精确移除

建议永远用稳定命名,例如:

  • custom:quest-reward
  • custom:skill-aura
  • custom:artifact-bonus

什么叫“链式派生”,它到底值不值得用

你可以先把它理解成:

text
普通映射:A → B
链式派生:A → B → C

它不是新系统,也不是特殊语法,本质上就是多个普通 mapping 串起来

最简单的例子:

text
智力 → 法术强度 → 魔法伤害

它的价值不在于“更高级”,而在于“更分层”:

  • 主属性负责成长(如智力)
  • 中间属性负责专精(如法术强度)
  • 最终属性负责真正进战斗或技能公式(如魔法伤害)

什么时候值得用:

  • 你要做职业差异化成长
  • 你想让多个最终属性共享一个中间层
  • 你希望后面调平衡时不用改一大堆最终公式

什么时候先别用:

  • 你只是做简单的一层属性服
  • 力量 → 攻击力 这种关系已经够用了

如果你现在最大的困惑是“我知道怎么写,但不知道为什么要这样分层”,直接去看:


为什么 perf 目录没生成

因为 perf 资源默认不会自动释放。

需要手动执行:

text
/hnattr perf release
/hnattr perf release confirm

其中第一条只是申请释放;需要在 15 秒内执行确认命令,资源才会真正生成。

如果你发现 perf/ 目录已经有文件,但压测配置仍未生效,继续执行:

text
/hnattr perf apply
/hnattr perf apply confirm

它会把 perf/ 目录覆盖到当前活动配置并自动重载。

然后再去:

text
plugins/HNAttribute/perf/

看资源。


我现在最应该先看哪几页

如果你时间有限,推荐顺序:

  1. 快速开始
  2. 命令说明
  3. 属性读取与来源
  4. Buff 系统
  5. 周期效果与实例系统

如果你当前最头疼的是 DOT / HOT 或周期实例,直接优先看:

HN 系列插件文档