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)。
相关
- BloodMagic - 注册方
- TagIntegration - 父类
- Value -
{bmlp}的取值路径