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