diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/PluginDescriptor.java b/runelite-client/src/main/java/net/runelite/client/plugins/PluginDescriptor.java index bb7766f623..677cffb585 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/PluginDescriptor.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/PluginDescriptor.java @@ -58,4 +58,6 @@ public @interface PluginDescriptor boolean loadWhenOutdated() default false; PluginType type() default PluginType.UNCATEGORIZED; + + boolean enabledByDefault() default true; } 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 fa36dabdf8..b1e4fc0349 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 @@ -462,7 +462,8 @@ public class PluginManager return Boolean.parseBoolean(value); } - return true; + final PluginDescriptor pluginDescriptor = plugin.getClass().getAnnotation(PluginDescriptor.class); + return pluginDescriptor == null || pluginDescriptor.enabledByDefault(); } @SuppressWarnings("unchecked")