Add support for latest BungeeCord/Waterfall, fixes #14

This commit is contained in:
Frank van der Heijden 2021-05-02 11:56:45 +02:00
parent c737d0c94a
commit 9871af44f2
No known key found for this signature in database
GPG key ID: B808721C2DD5B5B8
6 changed files with 38 additions and 23 deletions

View file

@ -4,7 +4,6 @@ import com.google.common.base.Preconditions;
import java.io.Closeable;
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Collection;
@ -21,6 +20,7 @@ import net.frankheijden.serverutils.bungee.events.BungeePluginDisableEvent;
import net.frankheijden.serverutils.bungee.events.BungeePluginEnableEvent;
import net.frankheijden.serverutils.bungee.events.BungeePluginLoadEvent;
import net.frankheijden.serverutils.bungee.events.BungeePluginUnloadEvent;
import net.frankheijden.serverutils.bungee.reflection.RLibraryLoader;
import net.frankheijden.serverutils.bungee.reflection.RPluginClassLoader;
import net.frankheijden.serverutils.bungee.reflection.RPluginManager;
import net.frankheijden.serverutils.common.entities.CloseableResult;
@ -82,8 +82,14 @@ public class BungeePluginManager extends AbstractPluginManager<Plugin> {
}
try {
URL url = desc.getFile().toURI().toURL();
URLClassLoader loader = (URLClassLoader) RPluginClassLoader.newInstance(proxy, desc, url);
Object libraryLoader = RPluginManager.getLibraryLoader(proxy.getPluginManager());
ClassLoader classLoader = RLibraryLoader.createLoader(libraryLoader, desc);
URLClassLoader loader = (URLClassLoader) RPluginClassLoader.newInstance(
proxy,
desc,
desc.getFile(),
classLoader
);
Class<?> main = loader.loadClass(desc.getMain());
Plugin plugin = (Plugin) main.getDeclaredConstructor().newInstance();