From 31e4d93e331cf31a6c8662884fbe3dd84ffb1711 Mon Sep 17 00:00:00 2001 From: mezz Date: Sun, 31 May 2015 16:03:39 -0700 Subject: [PATCH] Add API to query for plugin enabled/disabled status --- api/forestry | 2 +- src/main/java/forestry/plugins/PluginManager.java | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) 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(); }