package org.buckit.commands.admin;
import java.util.List;
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 UnmuteCommand extends Command {
private final Server server;
private static Logger log = Logger.getLogger(BanCommand.class.getName());
public UnmuteCommand(String name, Server server) {
super(name);
this.description = "Unmute a player.";
this.usageMessage = "Usage: /unmute [player]";
this.accessname = "buckit.admin.unmute";
this.server = server;
}
@Override
public boolean execute(CommandSender sender, String currentAlias, String[] args) {
if (!(sender instanceof Player))
return false;
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];
List<Player> list = server.matchPlayer(playername);
Player player = null;
for(Player p : list)
if(p.getName().equalsIgnoreCase(playername))
player = p;
UserDataHolder data;
if(player != null)
data = player.getUserDataHolder();
else
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.setMutetime(0);
server.getDataSourceManager().getUserDataSource().updateUserMuteTime(data);
sender.sendMessage(Config.DEFAULT_INFO_COLOR + "Player '" + playername + "' is now unmuted.");
if(player != null)player.sendMessage(Config.DEFAULT_INFO_COLOR + "You have been unmuted.");
log.info("Player '" + playername + "' has been unmuted by " + ((Player)sender).getName() + ".");
return true;
}
}