From 2fe5b4469892ef6d334efc0fe25dc63c9f298c5e Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 1 Sep 2019 11:01:04 -0400 Subject: [PATCH] Java 8+ plugin load fix --- core/src/io/anuke/mindustry/plugin/Plugins.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/core/src/io/anuke/mindustry/plugin/Plugins.java b/core/src/io/anuke/mindustry/plugin/Plugins.java index e371c78b66..803ed277c5 100644 --- a/core/src/io/anuke/mindustry/plugin/Plugins.java +++ b/core/src/io/anuke/mindustry/plugin/Plugins.java @@ -1,12 +1,11 @@ package io.anuke.mindustry.plugin; -import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.*; import io.anuke.arc.files.*; import io.anuke.arc.function.*; import io.anuke.arc.util.*; import io.anuke.mindustry.io.*; -import java.lang.reflect.*; import java.net.*; import static io.anuke.mindustry.Vars.pluginDirectory; @@ -50,12 +49,9 @@ public class Plugins{ PluginMeta meta = JsonIO.read(PluginMeta.class, metaf.readString()); - URLClassLoader classLoader = (URLClassLoader)ClassLoader.getSystemClassLoader(); - Method method = URLClassLoader.class.getDeclaredMethod("addURL", URL.class); - method.setAccessible(true); - method.invoke(classLoader, jar.file().toURI().toURL()); - Class main = Class.forName(meta.main); + URLClassLoader classLoader = new URLClassLoader(new URL[]{jar.file().toURI().toURL()}, ClassLoader.getSystemClassLoader()); + Class main = classLoader.loadClass(meta.main); return new LoadedPlugin(jar, zip, (Plugin)main.newInstance(), meta); }