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 完全可缺席而不影响多人游戏。
相关
- CommonProxy - 转发目标的基类
- Reference - modid 与 proxy 类名常量