package org.buckit.commands.admin;
import java.io.File;
import java.util.Arrays;
import org.buckit.Config;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.PluginManager;
public class ReloadPluginCommand extends Command {
private final Server server;
public ReloadPluginCommand(String name, Server server) {
super(name);
this.description = "Reloads specified plugin.";
this.usageMessage = "Usage: /reloadplugin [plugin name]";
this.accessname = "buckit.admin.reloadplugin";
this.setAliases(Arrays.asList("enableplugin"));
this.server = server;
}
@Override
public boolean execute(CommandSender sender, String currentAlias, String[] args) {
if(args.length == 0) {
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "Insufficient arguments specified.");
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + getUsage());
return true;
}
String name = args[0].toLowerCase();
PluginManager m = server.getPluginManager();
if(m.isPluginEnabled(name)){
m.disablePlugin(m.getPlugin(name));
}
try {
m.loadPlugin(new File(name+".jar"));
} catch (Exception e) {
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + e.getMessage());
e.printStackTrace();
return true;
}
sender.sendMessage(Config.DEFAULT_INFO_COLOR + "Plugin " + (currentAlias.equalsIgnoreCase("enableplugin") ? "enabled" : "reloaded") + ".");
return true;
}
}