Reference
modid / 名称 / proxy 类名 / logger
基本信息
| 属性 | 值 |
|---|---|
| 路径 | com.github.lunatrius.ingameinfo.reference.Reference |
| 行数 | 15 |
五个常量
| 常量 | 值 |
|---|---|
MODID |
InGameInfoXML(:8) |
NAME |
InGame Info XML(:9) |
PROXY_SERVER |
com.github.lunatrius.ingameinfo.proxy.ServerProxy(:10) |
PROXY_CLIENT |
com.github.lunatrius.ingameinfo.proxy.ClientProxy(:11) |
GUI_FACTORY |
com.github.lunatrius.ingameinfo.client.gui.GuiFactory(:12) |
⚠️ proxy 与 guiFactory 的值是字符串形式的全限定类名,
不是 Class 引用 —— FML 的 @SidedProxy / guiFactory 要求字符串。
这意味着改名不会在编译期报错,只在运行期反射失败。
logger(:14)
public static Logger logger = LogManager.getLogger(Reference.MODID);
⚠️ 声明为 public static 而非 public static final,
且被 CommonProxy 的 preInit(:15)
用 event.getModLog() 在运行期替换。
非 final 的静态字段在多线程下没有可见性保证,
且本 mod 的 tag 更新跑在客户端 tick 线程。
与 VersionReference 的区别
InGameInfoXML.java:19 导入的是 reference.VersionReference(顶层 reference 包),
不是本类的 Reference(com.github.lunatrius.ingameinfo.reference.Reference)。
两个都叫 Reference,容易混淆:
- 本类 = 身份常量
reference.VersionReference= GTNH 构建生成的版本号持有者
相关
- InGameInfoXML - 消费
MODID/NAME/ proxy / guiFactory - Names - 同一包内的其他常量