添加fdel可以同时删除插件和数据文件...

Signed-off-by: 502647092 <jtb1@163.com>
dev
502647092 2015-12-29 22:51:00 +08:00
parent c84655ddc6
commit 8f5d39ead0
4 changed files with 65 additions and 4 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>cn.citycraft</groupId>
<artifactId>Yum</artifactId>
<version>1.9.5</version>
<version>1.9.5.1</version>
<name>Yum</name>
<description>Minecraft 服务器插件管理系统</description>
<build>
@ -55,7 +55,7 @@
</build>
<properties>
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
<update.description>&amp;e添加yum info指令查看插件权限和注册命令...</update.description>
<update.description>&amp;e添加fdel命令删除插件和数据文件...</update.description>
<env.BUILD_NUMBER>Debug</env.BUILD_NUMBER>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

View File

@ -0,0 +1,47 @@
/**
*
*/
package cn.citycraft.Yum.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.Plugin;
import cn.citycraft.PluginHelper.commands.BaseCommand;
import cn.citycraft.Yum.Yum;
import cn.citycraft.Yum.api.YumAPI;
/**
*
*
* @author 20158122:04:05
*/
public class CommandFullDelete extends BaseCommand {
Yum main;
public CommandFullDelete(final Yum main) {
super("fdel");
this.main = main;
setMinimumArguments(1);
setDescription("删除插件以及数据文件夹");
setPossibleArguments("<插件名称>");
}
@Override
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
final String pluginname = args[0];
final Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin(pluginname);
if (plugin != null) {
final String version = plugin.getDescription().getVersion();
if (YumAPI.getPlugman().fullDeletePlugin(sender, plugin)) {
sender.sendMessage("§c删除: §a插件 §6" + pluginname + " §a版本 §d" + version + " §a已从服务器卸载并删除!");
} else {
sender.sendMessage("§c删除: §c插件 " + pluginname + " 卸载或删除时发生错误 删除失败!");
}
} else {
sender.sendMessage("§c插件 " + pluginname + " 不存在或已卸载!");
}
}
}

View File

@ -12,6 +12,7 @@ public class YumCommand {
cmdhandler.registerCommand(new CommandUpdate(yum));
cmdhandler.registerCommand(new CommandUpdateAll(yum));
cmdhandler.registerCommand(new CommandDelete(yum));
cmdhandler.registerCommand(new CommandFullDelete(yum));
cmdhandler.registerCommand(new CommandInfo(yum));
cmdhandler.registerCommand(new CommandRepo(yum));
cmdhandler.registerCommand(new CommandReload(yum));

View File

@ -28,10 +28,10 @@ import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.PluginLoader;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.UnknownDependencyException;
import org.bukkit.util.FileUtil;
import com.google.common.base.Joiner;
import cn.citycraft.PluginHelper.utils.FileUtil;
import cn.citycraft.PluginHelper.utils.StringUtil;
/**
@ -128,6 +128,19 @@ public class PluginsManager {
}
}
/**
* ()
*
* @param sender
* -
* @param plugin
* -
* @return
*/
public boolean fullDeletePlugin(final CommandSender sender, final Plugin plugin) {
return unload(sender, plugin) && getPluginFile(plugin).delete() && FileUtil.deleteDir(sender, plugin.getDataFolder());
}
/**
*
*
@ -617,7 +630,7 @@ public class PluginsManager {
result = true;
if (!unload(sender, name)) {
sender.sendMessage("§6升级: §d开始安装 §b" + name + " §d插件!");
FileUtil.copy(file, new File(Bukkit.getUpdateFolderFile().getParentFile(), File.separatorChar + file.getName()));
FileUtil.copyFile(file, new File(Bukkit.getUpdateFolderFile().getParentFile(), File.separatorChar + file.getName()));
} else {
sender.sendMessage("§6升级: §a开始升级 §b" + name + " §a插件!");
}