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 - 同一包内的其他常量