TagBloodMagic

4 个 LP(生命点)tag

基本信息

属性 值
路径 com.github.lunatrius.ingameinfo.integration.bloodmagic.tag.TagBloodMagic
行数 73
父类 TagIntegration
分类 由子类给出
注册 tag 数 4

4 个 tag

tag 名 取值
bmlp 当前 LP(life points)
bmmaxlp 最大 LP
bmlpNum 数值形式的 LP(去掉格式后缀)
bmmaxlpNum 数值形式的最大 LP

⚠️ 命名风格与内置 tag 完全不同:

组 风格 例子
内置 151 个 全小写 nearbyplayername、maxhealth
本类 4 个 前缀小驼峰 bmlp、bmlpNum

即内置 tag 全小写,集成 tag 用 bm + 小驼峰。 且 bmlpNum / bmmaxlpNum 里含大写字母 —— 虽然 TagRegistry 的 getTag 会 toLowerCase(),所以 {bmlpNum} 与 {bmlpnum} 等价, 但源码里的字符串与内置 tag 风格不一致。

⚠️ 只有 4 个 tag,且无「数值化」之外的加工 —— Blood Magic 1.7.10 的物品、咒印、ritual 等丰富数据 一个 tag 都没接。本集成只取玩家的 LP 数值。

与前缀 bmlp 的关系

bm = Blood Magic 的缩写,与 modid AWWayofTime 无关 (见 BloodMagic 的 modid 说明)。 所以从 tag 名也看不出它属于哪个模组。

注册时机

由 BloodMagic 的 load() 调 TagBloodMagic.register(), 而 load() 由 PluginLoader.postInit(:60-69) 在 preInit 筛出 canLoad() 为真后调用。

⚠️ 该时机晚于 ClientProxy 的 core.reloadConfig()(preInit 的第 8 步), 所以首次启动时配置文件里的 bmlp 会解析成 <ERROR> (Value 的 getVariableValue 查表 miss)。 /igi reload 或重进世界后正常。

异常处理

继承 TagIntegration 的 log(tag, ex) —— 同一实例只记第一次错误。 Blood Magic 未安装时本类根本不会被注册(canLoad() 为 false)。

相关