BloodMagic
Blood Magic 集成插件
基本信息
| 属性 | 值 |
|---|---|
| 路径 | com.github.lunatrius.ingameinfo.integration.bloodmagic.BloodMagic |
| 行数 | 24 |
| 父类 | Plugin |
| 依赖的 modid | AWWayofTime |
| 提供的 tag | 见下 |
⚠️ 源码带 @SuppressWarnings("UnusedDeclaration") ——
因为该类只被 PluginLoader 用字符串反射实例化
(PluginLoader.java:26-30 的字符串数组),
没有任何静态引用,编译器会报「未使用的声明」。
⚠️ 依赖声明为 compileOnly('com.github.GTNewHorizons:BloodMagic:1.9.4:dev')({transitive = false})
modid 实测与陷阱
modid AWWayofTime(“A whence of Time”)与模组名 Blood Magic 完全无关 —— 这是 1.7.10 Blood Magic 的实际 modid。Wiki 分类名 bloodmagic 与 modid 不同,不要把分类名当 modid 用。
对应 Wiki 分类 bloodmagic(已登记未成文,前向引用)。
三个覆写
| 方法 | 返回 |
|---|---|
getDependency() |
Names.Mods.*_MODID = AWWayofTime |
getDependencyName() |
Names.Mods.*_NAME = Blood Magic |
load() |
TagBloodMagic.register() |
⚠️ getDependency() 与 getDependencyName() 分别读
Names 的 Mods 段的两个不同常量 ——
modid 与显示名分开定义。modid 的异常(如 Blood Magic 的 AWWayofTime)
无法从显示名推断,只能看 Names 或 Loader.isModLoaded 的实参。
load
public void load() { TagBloodMagic.register(); }
由 PluginLoader.postInit(:60-69)在
preInit 筛出 canLoad() 为真的插件后调用。
⚠️ load() 只注册 tag,不注册任何事件、命令或渲染钩子。
本 mod 对第三方模组的全部介入都是「读它们的值,显示到 HUD」——
不修改对方任何状态。
相关
- Plugin - 基类(
canLoad/toString) - PluginLoader - 反射加载方
- TagBloodMagic - 本插件注册的 tag
- Names - modid 与显示名常量
- TagIntegration - 集成 tag 的异常处理基类