diff --git a/common/cpw/mods/fml/common/event/FMLPostInitializationEvent.java b/common/cpw/mods/fml/common/event/FMLPostInitializationEvent.java index f60fe1f4e0..816778cdfb 100644 --- a/common/cpw/mods/fml/common/event/FMLPostInitializationEvent.java +++ b/common/cpw/mods/fml/common/event/FMLPostInitializationEvent.java @@ -1,5 +1,8 @@ package cpw.mods.fml.common.event; +import com.google.common.base.Throwables; + +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.LoaderState.ModState; public class FMLPostInitializationEvent extends FMLStateEvent @@ -15,4 +18,21 @@ public class FMLPostInitializationEvent extends FMLStateEvent return ModState.POSTINITIALIZED; } + public Object buildSoftDependProxy(String modId, String className) + { + if (Loader.isModLoaded(modId)) + { + try + { + Class clz = Class.forName(className,true,Loader.instance().getModClassLoader()); + return clz.newInstance(); + } + catch (Exception e) + { + Throwables.propagateIfPossible(e); + return null; + } + } + return null; + } }