fix null CommandSender...

Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
j502647092 2015-08-23 21:45:40 +08:00
parent ab32d82651
commit a9e57b4f17
2 changed files with 19 additions and 10 deletions

View File

@ -58,25 +58,24 @@ public class DownloadManager {
public boolean run(CommandSender sender, URL url, File file) { public boolean run(CommandSender sender, URL url, File file) {
BufferedInputStream in = null; BufferedInputStream in = null;
FileOutputStream fout = null; FileOutputStream fout = null;
CommandSender resultsender = sender;
if (sender == null) { if (sender == null) {
resultsender = Bukkit.getConsoleSender(); sender = Bukkit.getConsoleSender();
} }
try { try {
resultsender.sendMessage("§6开始下载: §3" + getFileName(url)); sender.sendMessage("§6开始下载: §3" + getFileName(url));
resultsender.sendMessage("§6下载地址: §3" + url.getPath()); sender.sendMessage("§6下载地址: §3" + url.getPath());
int fileLength = url.openConnection().getContentLength(); int fileLength = url.openConnection().getContentLength();
resultsender.sendMessage("§6文件长度: §3" + fileLength); sender.sendMessage("§6文件长度: §3" + fileLength);
in = new BufferedInputStream(url.openStream()); in = new BufferedInputStream(url.openStream());
if (!file.getParentFile().exists()) { if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs(); file.getParentFile().mkdirs();
resultsender.sendMessage("§d创建新目录: " + file.getParentFile().getAbsolutePath()); sender.sendMessage("§d创建新目录: " + file.getParentFile().getAbsolutePath());
} }
if (file.exists()) { if (file.exists()) {
file.delete(); file.delete();
} }
file.createNewFile(); file.createNewFile();
resultsender.sendMessage("§6创建新文件: §d" + file.getAbsolutePath()); sender.sendMessage("§6创建新文件: §d" + file.getAbsolutePath());
fout = new FileOutputStream(file); fout = new FileOutputStream(file);
byte[] data = new byte[1024]; byte[] data = new byte[1024];
long downloaded = 0L; long downloaded = 0L;
@ -86,13 +85,13 @@ public class DownloadManager {
fout.write(data, 0, count); fout.write(data, 0, count);
int percent = (int) (downloaded * 100L / fileLength); int percent = (int) (downloaded * 100L / fileLength);
if (percent % 10 == 0) { if (percent % 10 == 0) {
resultsender.sendMessage(String.format("§6已下载: §a" + getPer(percent / 10) + " %s%%", percent)); sender.sendMessage(String.format("§6已下载: §a" + getPer(percent / 10) + " %s%%", percent));
} }
} }
resultsender.sendMessage("§a文件: " + file.getName() + " 下载完成!"); sender.sendMessage("§a文件: " + file.getName() + " 下载完成!");
return true; return true;
} catch (Exception ex) { } catch (Exception ex) {
resultsender.sendMessage("§c文件" + file.getName() + "下载失败!"); sender.sendMessage("§c文件" + file.getName() + "下载失败!");
ex.printStackTrace(); ex.printStackTrace();
return false; return false;
} finally { } finally {

View File

@ -168,6 +168,9 @@ public class PluginsManager {
} }
public static boolean installFromYum(CommandSender sender, String filename) { public static boolean installFromYum(CommandSender sender, String filename) {
if (sender == null) {
sender = Bukkit.getConsoleSender();
}
File file = new File("plugins/YumCenter", filename + ".jar"); File file = new File("plugins/YumCenter", filename + ".jar");
if (!file.exists()) { if (!file.exists()) {
sender.sendMessage("§c仓库不存在该插件!"); sender.sendMessage("§c仓库不存在该插件!");
@ -199,6 +202,10 @@ public class PluginsManager {
public static boolean load(CommandSender sender, String name) { public static boolean load(CommandSender sender, String name) {
Plugin target = null; Plugin target = null;
if (sender == null) {
sender = Bukkit.getConsoleSender();
}
if (!name.endsWith(".jar")) { if (!name.endsWith(".jar")) {
name = name + ".jar"; name = name + ".jar";
} }
@ -264,6 +271,9 @@ public class PluginsManager {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static boolean unload(CommandSender sender, Plugin plugin) { public static boolean unload(CommandSender sender, Plugin plugin) {
String name = plugin.getName(); String name = plugin.getName();
if (sender == null) {
sender = Bukkit.getConsoleSender();
}
PluginManager pluginManager = Bukkit.getPluginManager(); PluginManager pluginManager = Bukkit.getPluginManager();
SimpleCommandMap commandMap = null; SimpleCommandMap commandMap = null;
List<Plugin> plugins = null; List<Plugin> plugins = null;