Merge pull request #2532 from open-osrs/allow-plugin-abstraction

pluginmanager: allow Plugins to be instantized if they're a plugin regardless of superclass.
This commit is contained in:
ThatGamerBlue
2020-04-29 16:16:34 +01:00
committed by GitHub
2 changed files with 8 additions and 10 deletions

View File

@@ -643,13 +643,13 @@ public class ExternalPluginManager
{
if (pluginDescriptor == null)
{
if (clazz.getSuperclass() == Plugin.class)
if (Plugin.class.isAssignableFrom(clazz))
{
log.warn("Class {} is a plugin, but has no plugin descriptor", clazz);
continue;
}
continue;
}
else if (clazz.getSuperclass() != Plugin.class)
else if (!Plugin.class.isAssignableFrom(clazz))
{
log.warn("Class {} has plugin descriptor, but is not a plugin", clazz);
continue;
@@ -1084,7 +1084,7 @@ public class ExternalPluginManager
String lastVersion = lastRelease.version;
try
{
RuneLiteSplashScreen.stage(.59, "Updating " + plugin.id + " to version " + lastVersion);
boolean updated = updateManager.updatePlugin(plugin.id, lastVersion);

View File

@@ -356,18 +356,16 @@ public class PluginManager
if (pluginDescriptor == null)
{
if (clazz.getSuperclass() == Plugin.class)
if (Plugin.class.isAssignableFrom(clazz) && clazz != Plugin.class)
{
log.warn("Class {} is a plugin, but has no plugin descriptor",
clazz);
log.warn("Class {} is a plugin, but has no plugin descriptor", clazz);
}
continue;
}
if (clazz.getSuperclass() != Plugin.class)
if (!Plugin.class.isAssignableFrom(clazz))
{
log.warn("Class {} has plugin descriptor, but is not a plugin",
clazz);
log.warn("Class {} has plugin descriptor, but is not a plugin", clazz);
continue;
}