From 3ac8d9df6708a1407dce907f37a9baf8df379e37 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 9 Jul 2017 17:38:34 -0400 Subject: [PATCH] runelite-client: split plugin loading from plugin start so that plugins can access configuration on start --- .../src/main/java/net/runelite/client/RuneLite.java | 7 ++++++- .../java/net/runelite/client/plugins/PluginManager.java | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 0441ad97e0..130105c1da 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -121,13 +121,18 @@ public class RuneLite eventBus.register(menuManager); + // Load the plugins, but does not start them yet. + // This will initialize configuration pluginManager = new PluginManager(this); - pluginManager.loadAll(); + pluginManager.loadPlugins(); // Plugins have registered their config, so set default config // to main settings configManager.loadDefault(); + // Start plugins + pluginManager.start(); + renderer = new OverlayRenderer(); loadSession(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java index de920620e8..71d09fc289 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java @@ -64,15 +64,15 @@ public class PluginManager private final RuneLite runelite; private ServiceManager manager; + private final List plugins = new ArrayList<>(); public PluginManager(RuneLite runelite) { this.runelite = runelite; } - public void loadAll() + public void loadPlugins() { - List plugins = new ArrayList<>(); plugins.add(new Boosts()); plugins.add(new OpponentInfo()); plugins.add(new FPS()); @@ -101,7 +101,10 @@ public class PluginManager logger.info("Loading developer plugins"); plugins.add(new DevTools()); } + } + public void start() + { // Add plugin listeners for (Plugin plugin : plugins) {