diff --git a/api/forestry b/api/forestry index 721daf7ee..82acea675 160000 --- a/api/forestry +++ b/api/forestry @@ -1 +1 @@ -Subproject commit 721daf7ee115924d601f58c344085b555beee7c5 +Subproject commit 82acea6751a09d4af1b55ab69e4dbcfec3457333 diff --git a/src/main/java/forestry/plugins/PluginManager.java b/src/main/java/forestry/plugins/PluginManager.java index 38e581483..0a1db94fb 100644 --- a/src/main/java/forestry/plugins/PluginManager.java +++ b/src/main/java/forestry/plugins/PluginManager.java @@ -16,6 +16,7 @@ import com.google.common.collect.Lists; import java.io.File; import java.util.ArrayList; import java.util.EnumSet; +import java.util.HashSet; import java.util.Iterator; import java.util.Locale; import java.util.Random; @@ -37,6 +38,7 @@ import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.registry.GameRegistry; import forestry.Forestry; +import forestry.api.core.ForestryAPI; import forestry.core.interfaces.IOreDictionaryHandler; import forestry.core.interfaces.IPickupHandler; import forestry.core.interfaces.IResupplyHandler; @@ -114,7 +116,7 @@ public class PluginManager { } public boolean isEnabled() { - return isModuleLoaded(this); + return ForestryAPI.enabledPlugins.contains(toString()); } public boolean canBeDisabled() { @@ -137,10 +139,6 @@ public class PluginManager { return EnumSet.copyOf(loadedModules); } - public static boolean isModuleLoaded(Module module) { - return loadedModules.contains(module); - } - private static void registerHandlers(ForestryPlugin plugin) { Proxies.log.fine("Registering Handlers for Plugin: {0}", plugin); @@ -229,6 +227,11 @@ public class PluginManager { unloadedModules.removeAll(toLoad); loadedModules.addAll(toLoad); + ForestryAPI.enabledPlugins = new HashSet(); + for (Module m : loadedModules) { + ForestryAPI.enabledPlugins.add(m.toString()); + } + if (config.hasChanged()) { config.save(); }