Close plugin class as well (BungeeCord)
This commit is contained in:
parent
a0bdaeb2fc
commit
d6b75e5c02
1 changed files with 10 additions and 3 deletions
|
|
@ -149,15 +149,22 @@ public class BungeePluginManager extends AbstractPluginManager<Plugin> {
|
||||||
proxy.getPluginManager().unregisterCommands(plugin);
|
proxy.getPluginManager().unregisterCommands(plugin);
|
||||||
proxy.getPluginManager().unregisterListeners(plugin);
|
proxy.getPluginManager().unregisterListeners(plugin);
|
||||||
proxy.getScheduler().cancel(plugin);
|
proxy.getScheduler().cancel(plugin);
|
||||||
Closeable closeable;
|
List<Closeable> closeables = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
RPluginManager.clearPlugin(proxy.getPluginManager(), plugin);
|
RPluginManager.clearPlugin(proxy.getPluginManager(), plugin);
|
||||||
closeable = (Closeable) RPluginClassLoader.getPluginClassLoader(plugin);
|
addIfInstance(closeables, RPluginClassLoader.getPluginClassLoader(plugin));
|
||||||
|
addIfInstance(closeables, plugin.getClass().getClassLoader());
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
return new CloseableResult(Result.ERROR);
|
return new CloseableResult(Result.ERROR);
|
||||||
}
|
}
|
||||||
return new CloseableResult(closeable);
|
return new CloseableResult(closeables);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void addIfInstance(List<Closeable> list, Object obj) {
|
||||||
|
if (obj instanceof Closeable) {
|
||||||
|
list.add((Closeable) obj);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static File getPluginFileExact(String fileName) {
|
public static File getPluginFileExact(String fileName) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue