package com.forgeessentials.util.events; 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.event.FMLServerAboutToStartEvent; import cpw.mods.fml.common.event.FMLServerStartedEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLServerStoppedEvent; import cpw.mods.fml.common.event.FMLServerStoppingEvent; import cpw.mods.fml.common.event.FMLStateEvent; import cpw.mods.fml.common.eventhandler.Event; public class FEModuleEvent extends Event { protected FMLStateEvent event; public FMLStateEvent getFMLEvent() { return event; } public static class FEModulePreInitEvent extends FEModuleEvent { public FEModulePreInitEvent(FMLPreInitializationEvent event) { this.event = event; } } public static class FEModuleInitEvent extends FEModuleEvent { public FEModuleInitEvent(FMLInitializationEvent event) { this.event = event; } } public static class FEModulePostInitEvent extends FEModuleEvent { private FMLPostInitializationEvent parentEvent; public FEModulePostInitEvent(FMLPostInitializationEvent event) { this.parentEvent = event; } /** * bouncer for FML event method * * @param modId * @param className * @return */ public Object buildSoftDependProxy(String modId, String className) { return parentEvent.buildSoftDependProxy(modId, className); } } public static class FEModuleServerPreInitEvent extends FEModuleEvent { public FEModuleServerPreInitEvent(FMLServerAboutToStartEvent event) { this.event = event; } } public static class FEModuleServerInitEvent extends FEModuleEvent { public FEModuleServerInitEvent(FMLServerStartingEvent event) { this.event = event; } } public static class FEModuleServerPostInitEvent extends FEModuleEvent { public FEModuleServerPostInitEvent(FMLServerStartedEvent event) { this.event = event; } } public static class FEModuleServerStopEvent extends FEModuleEvent { public FEModuleServerStopEvent(FMLServerStoppingEvent event) { this.event = event; } } public static class FEModuleServerStoppedEvent extends FEModuleEvent { public FEModuleServerStoppedEvent(FMLServerStoppedEvent event) { this.event = event; } } }