diff --git a/src/main/java/cpw/mods/fml/relauncher/CoreModManager.java b/src/main/java/cpw/mods/fml/relauncher/CoreModManager.java index 35a7db8..3a14ea1 100644 --- a/src/main/java/cpw/mods/fml/relauncher/CoreModManager.java +++ b/src/main/java/cpw/mods/fml/relauncher/CoreModManager.java @@ -54,7 +54,7 @@ public class CoreModManager { private static final Attributes.Name COREMODCONTAINSFMLMOD = new Attributes.Name("FMLCorePluginContainsFMLMod"); - private static String[] rootPlugins = { "cpw.mods.fml.relauncher.FMLCorePlugin", "net.minecraftforge.classloading.FMLForgePlugin" }; + private static String[] rootPlugins = { "cpw.mods.fml.relauncher.FMLCorePlugin", "net.minecraftforge.classloading.FMLForgePlugin", "org.ultramine.server.UltraminePlugin" }; private static List loadedCoremods = Lists.newArrayList(); private static List loadPlugins; private static boolean deobfuscatedEnvironment; diff --git a/src/main/java/org/ultramine/server/UltraminePlugin.java b/src/main/java/org/ultramine/server/UltraminePlugin.java new file mode 100644 index 0000000..4bbd9e8 --- /dev/null +++ b/src/main/java/org/ultramine/server/UltraminePlugin.java @@ -0,0 +1,41 @@ +package org.ultramine.server; + +import cpw.mods.fml.relauncher.IFMLLoadingPlugin; + +import java.io.File; +import java.util.Map; + +public class UltraminePlugin implements IFMLLoadingPlugin +{ + public static File location; + + @Override + public String[] getASMTransformerClass() + { + return new String[0]; + } + + @Override + public String getModContainerClass() + { + return "org.ultramine.server.UltramineServerModContainer"; + } + + @Override + public String getSetupClass() + { + return null; + } + + @Override + public void injectData(Map data) + { + location = (File)data.get("coremodLocation"); + } + + @Override + public String getAccessTransformerClass() + { + return null; + } +} diff --git a/src/main/java/org/ultramine/server/UltramineServerMod.java b/src/main/java/org/ultramine/server/UltramineServerMod.java deleted file mode 100644 index 55e6369..0000000 --- a/src/main/java/org/ultramine/server/UltramineServerMod.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.ultramine.server; - -import java.util.Map; - -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.network.NetworkCheckHandler; -import cpw.mods.fml.relauncher.Side; - -@Mod -( - modid = "UltramineServer", - name = "Ultramine Server", - version = "1.0" -) -public class UltramineServerMod -{ - @Mod.EventHandler - public void preInit(FMLPreInitializationEvent e) - { - ConfigurationHandler.load(); - } - - @Mod.EventHandler - public void postInit(FMLPostInitializationEvent e) - { - ConfigurationHandler.saveServerConfig(); - } - - @NetworkCheckHandler - public boolean networkCheck(Map map, Side side) - { - return true; - } -} diff --git a/src/main/java/org/ultramine/server/UltramineServerModContainer.java b/src/main/java/org/ultramine/server/UltramineServerModContainer.java new file mode 100644 index 0000000..73e73f0 --- /dev/null +++ b/src/main/java/org/ultramine/server/UltramineServerModContainer.java @@ -0,0 +1,73 @@ +package org.ultramine.server; + +import java.io.File; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.ImmutableList; +import com.google.common.eventbus.EventBus; +import com.google.common.eventbus.Subscribe; +import cpw.mods.fml.common.DummyModContainer; +import cpw.mods.fml.common.LoadController; +import cpw.mods.fml.common.ModMetadata; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.network.NetworkCheckHandler; +import cpw.mods.fml.relauncher.Side; + +public class UltramineServerModContainer extends DummyModContainer +{ + public UltramineServerModContainer() + { + super(new ModMetadata()); + ModMetadata meta = getMetadata(); + meta.modId = "UltramineServer"; + meta.name = "Ultramine Server"; + meta.version = "1.0"; + } + + @Override + public boolean registerBus(EventBus bus, LoadController controller) + { + bus.register(this); + return true; + } + + @Subscribe + public void preInit(FMLPreInitializationEvent e) + { + ConfigurationHandler.load(); + } + + @Subscribe + public void postInit(FMLPostInitializationEvent e) + { + ConfigurationHandler.saveServerConfig(); + } + + @NetworkCheckHandler + public boolean networkCheck(Map map, Side side) + { + return true; + } + + @Override + public File getSource() + { + return UltraminePlugin.location; + } + + @Override + public List getOwnedPackages() + { + return ImmutableList.of( + "org.ultramine.server" + ); + } + + @Override + public Object getMod() + { + return this; + } +}