    001    package cpw.mods.fml.common.event;
    002
    003    import com.google.common.base.Throwables;
    004
    005    import cpw.mods.fml.common.Loader;
    006    import cpw.mods.fml.common.LoaderState.ModState;
    007
    008    public class FMLPostInitializationEvent extends FMLStateEvent
    009    {
    010        public FMLPostInitializationEvent(Object... data)
    011        {
    012            super(data);
    013        }
    014
    015        @Override
    016        public ModState getModState()
    017        {
    018            return ModState.POSTINITIALIZED;
    019        }
    020
    021        public Object buildSoftDependProxy(String modId, String className)
    022        {
    023            if (Loader.isModLoaded(modId))
    024            {
    025                try
    026                {
    027                    Class<?> clz = Class.forName(className,true,Loader.instance().getModClassLoader());
    028                    return clz.newInstance();
    029                }
    030                catch (Exception e)
    031                {
    032                    Throwables.propagateIfPossible(e);
    033                    return null;
    034                }
    035            }
    036            return null;
    037        }
    038    }