package org.buckit.commands.admin;
import java.util.logging.Logger;
import org.buckit.Config;
import org.buckit.model.UserDataHolder;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class UnbanCommand extends Command {
private final Server server;
private static Logger log = Logger.getLogger(BanCommand.class.getName());
public UnbanCommand(String name, Server server) {
super(name);
this.description = "Unban a player.";
this.usageMessage = "Usage: /unban [player]";
this.accessname = "buckit.admin.unban";
this.server = server;
}
@Override
public boolean execute(CommandSender sender, String currentAlias, String[] args) {
if (args.length < 1) {
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "Insufficient arguments specified.");
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + this.getUsage());
return true;
}
String playername = args[0];
UserDataHolder data = server.getDataSourceManager().getUserDataSource().getUserData(playername);
if(data == null){
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "No player with name '" + playername + "' ever logged into this server.");
return true;
}
data.setBantime(0);
data.setAccesslevel(server.getDataSourceManager().getAccessDataSource().getAccessLevel(Config.DEFAULT_ACCESS_LEVEL));
server.getDataSourceManager().getUserDataSource().updateUser(data);
sender.sendMessage(Config.DEFAULT_INFO_COLOR + "Player '" + playername + "' is now unbanned.");
log.info("Player '" + playername + "' has been unbanned by " + (sender instanceof Player ? ((Player)sender).getName() : "CONSOLE" ) + ".");
return true;
}
}