InGameInfoXML

模组主类:5 个生命周期事件全部转发给 proxy

基本信息

属性 值
路径 com.github.lunatrius.ingameinfo.InGameInfoXML
行数 63
注解 @Mod(modid, name, version, guiFactory)

注解实参(:21-25)

@Mod(modid = Reference.MODID, name = Reference.NAME,
     version = VersionReference.VERSION, guiFactory = Reference.GUI_FACTORY)
  • modid = InGameInfoXML(见 Reference)
  • version 来自 reference.VersionReference(import reference.VersionReference;,:19), 不是本仓的 Reference 类 —— 版本号由 GTNH 构建脚本生成在独立的 reference 包里。
  • guiFactory = com.github.lunatrius.ingameinfo.client.gui.GuiFactory
  • ⚠️ dependencies 未声明 —— 硬依赖 LunatriusCore 只写在 mcmod.info 的 dependencies / requiredMods(LunatriusCore@[1.1.4,))与 dependencies.gradle 的 api(...),@Mod 注解本身没有 required-after。 缺 LunatriusCore 时会在类加载阶段直接 NoClassDefFoundError。

静态成员

成员 注解 说明
instance @Instance(MODID) 单例引用
proxy @SidedProxy 服务端 ServerProxy,客户端 ClientProxy

生命周期

五个 @EventHandler 全部是纯转发,无自身逻辑:

事件 转发到
FMLPreInitializationEvent proxy.preInit
FMLInitializationEvent proxy.init
FMLPostInitializationEvent proxy.postInit
FMLServerStartingEvent proxy.serverStarting
FMLServerStoppingEvent proxy.serverStopping

checkModList(:34-37)

@NetworkCheckHandler
public boolean checkModList(Map<String, String> versions, Side side) { return true; }

无条件返回 true —— 允许客户端在没有本 mod 的服务器上连接, 也不要求服务器安装。配合 TickerManager 的「连上才注册」逻辑, 本 mod 完全可缺席而不影响多人游戏。

相关