package mcjty.gearswap.proxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import mcjty.gearswap.Config; import mcjty.gearswap.GearSwap; import mcjty.gearswap.ModCrafting; import mcjty.gearswap.blocks.ModBlocks; import mcjty.gearswap.items.ModItems; import mcjty.gearswap.network.PacketHandler; import net.minecraftforge.common.config.Configuration; import org.apache.logging.log4j.Level; public abstract class CommonProxy { private Configuration mainConfig; public void preInit(FMLPreInitializationEvent e) { mainConfig = GearSwap.config; readMainConfig(); ModItems.init(); ModBlocks.init(); ModCrafting.init(); PacketHandler.registerMessages("gearswapper"); } private void readMainConfig() { Configuration cfg = mainConfig; try { cfg.load(); cfg.addCustomCategoryComment(Config.CATEGORY_GEARSWAP, "General configuration"); cfg.addCustomCategoryComment(Config.CATEGORY_RULES, "Rules that help decide if two items are considered equal. Every rule contains a list of tags that have to match"); Config.init(cfg); } catch (Exception e1) { GearSwap.logger.log(Level.ERROR, "Problem loading config file!", e1); } finally { if (mainConfig.hasChanged()) { mainConfig.save(); } } } public void init(FMLInitializationEvent e) { NetworkRegistry.INSTANCE.registerGuiHandler(GearSwap.instance, new GuiProxy()); } public void postInit(FMLPostInitializationEvent e) { if (mainConfig.hasChanged()) { mainConfig.save(); } mainConfig = null; } }