优化 PluginUtils

使用 JavaPlugin 自带的 getFile 方法来获取插件文件
优化
This commit is contained in:
allenlol 2018-10-02 16:20:39 -07:00 committed by GitHub
parent c23f33526a
commit 7a703d2165

View File

@ -29,19 +29,14 @@ public class PluginUtils {
PluginUtils() { PluginUtils() {
} }
public static File getPluginFile(Plugin plugin) { private File getPluginFile(JavaPlugin plugin) {
for (File pluginFile : new File("plugins").listFiles()) { try {
if (pluginFile.getName().endsWith(".jar")) { Method method = JavaPlugin.class.getDeclaredMethod("getFile");
try { method.setAccessible(true);
PluginDescriptionFile desc = Main.getInst().getPluginLoader().getPluginDescription(pluginFile); return (File) method.invoke(plugin);
if (desc.getName().equalsIgnoreCase(plugin.getName())) { } catch (ReflectiveOperationException e) {
return pluginFile; throw new RuntimeException("Could not get plugin file", e);
}
} catch (InvalidDescriptionException ignored) {
}
}
} }
return null;
} }
public static boolean isPluginExists(String name) { public static boolean isPluginExists(String name) {