Commit 9fb5b69d authored by muhammadeko's avatar muhammadeko
Browse files

load all classes from plugin

parent c4bdcc38
...@@ -13,6 +13,8 @@ import java.lang.reflect.Method; ...@@ -13,6 +13,8 @@ import java.lang.reflect.Method;
import java.net.URL; import java.net.URL;
import java.net.URLClassLoader; import java.net.URLClassLoader;
import java.util.*; import java.util.*;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
/** /**
* Manages the server's plugins & the event system. * Manages the server's plugins & the event system.
...@@ -60,6 +62,15 @@ public final class PluginManager { ...@@ -60,6 +62,15 @@ public final class PluginManager {
return; return;
} }
JarFile jarFile = new JarFile(plugin);
Enumeration<JarEntry> entries = jarFile.entries();
while(entries.hasMoreElements()) {
JarEntry entry = entries.nextElement();
if(entry.isDirectory() || !entry.getName().endsWith(".class")) continue;
String className = entry.getName().replace(".class", "").replace("/", ".");
Class<?> clazz = loader.loadClass(className);
}
Class<?> pluginClass = loader.loadClass(pluginConfig.mainClass); Class<?> pluginClass = loader.loadClass(pluginConfig.mainClass);
Plugin pluginInstance = (Plugin) pluginClass.getDeclaredConstructor().newInstance(); Plugin pluginInstance = (Plugin) pluginClass.getDeclaredConstructor().newInstance();
this.loadPlugin(pluginInstance, PluginIdentifier.fromPluginConfig(pluginConfig)); this.loadPlugin(pluginInstance, PluginIdentifier.fromPluginConfig(pluginConfig));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment