ClientProxy

基本信息

属性 值
类名 betterachievements.proxy.ClientProxy
父类 CommonProxy
源文件 src/main/java/betterachievements/proxy/ClientProxy.java
注册到 @SidedProxy(clientSide = "betterachievements.proxy.ClientProxy")

功能

客户端侧的代理实现。注册两个 Forge 事件总线监听器 + 加载配置文件。

方法

registerHandlers()

public void registerHandlers() {
    MinecraftForge.EVENT_BUS.register(new GuiOpenHandler());
    MinecraftForge.EVENT_BUS.register(new SaveHandler());
}
监听器 事件总线 订阅事件
GuiOpenHandler MinecraftForge.EVENT_BUS GuiOpenEvent
SaveHandler MinecraftForge.EVENT_BUS WorldEvent.Load / WorldEvent.Unload

调用时机:BetterAchievements.init(FMLInitializationEvent) 中 proxy.registerHandlers()。

initConfig(File)

public void initConfig(File file) {
    ConfigHandler.init(file);
    FMLCommonHandler.instance().bus().register(new ConfigHandler());
}
行为 说明
ConfigHandler.init(file) 首次调用时创建 Configuration 并 loadConfig()
FMLCommonHandler.bus().register(...) 在 FML 总线上订阅 ConfigChangedEvent.OnConfigChangedEvent

调用时机:BetterAchievements.preInit 中 proxy.initConfig(event.getSuggestedConfigurationFile())。

相关条目