Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
6b45d144c2
@ -9,6 +9,8 @@ import org.bukkit.command.PluginCommand;
|
|||||||
import org.bukkit.command.SimpleCommandMap;
|
import org.bukkit.command.SimpleCommandMap;
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.event.Event;
|
||||||
import org.bukkit.plugin.*;
|
import org.bukkit.plugin.*;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -30,18 +32,13 @@ public class PluginUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static File getPluginFile(Plugin plugin) {
|
public static File getPluginFile(Plugin plugin) {
|
||||||
for (File pluginFile : new File("plugins").listFiles()) {
|
|
||||||
if (pluginFile.getName().endsWith(".jar")) {
|
|
||||||
try {
|
try {
|
||||||
PluginDescriptionFile desc = Main.getInst().getPluginLoader().getPluginDescription(pluginFile);
|
Method method = plugin.getClass().getDeclaredMethod("getFile");
|
||||||
if (desc.getName().equalsIgnoreCase(plugin.getName())) {
|
method.setAccessible(true);
|
||||||
return pluginFile;
|
return (File) method.invoke(plugin);
|
||||||
|
} catch (ReflectiveOperationException e) {
|
||||||
|
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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user