package me.desht.chesscraft.commands;
import me.desht.chesscraft.Messages;
import me.desht.chesscraft.chess.ChessGame;
import me.desht.chesscraft.chess.ChessGameManager;
import me.desht.chesscraft.exceptions.ChessException;
import me.desht.dhutils.MiscUtil;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import java.util.List;
public class GameCommand extends ChessAbstractCommand {
public GameCommand() {
super("chess game", 0, 1);
setPermissionNode("chesscraft.commands.game");
setUsage("/chess game [<game-name>]");
}
@Override
public boolean execute(Plugin plugin, CommandSender sender, String[] args) throws ChessException {
notFromConsole(sender);
Player player = (Player) sender;
if (args.length >= 1) {
ChessGameManager.getManager().setCurrentGame(player.getUniqueId(), args[0]);
MiscUtil.statusMessage(sender, Messages.getString("ChessCommandExecutor.activeGameChanged", args[0]));
} else {
ChessGame game = ChessGameManager.getManager().getCurrentGame(player, false);
if (game == null) {
MiscUtil.statusMessage(sender, Messages.getString("ChessCommandExecutor.noActiveGame"));
} else {
MiscUtil.statusMessage(sender, Messages.getString("ChessCommandExecutor.activeGameIs", game.getName()));
}
}
return true;
}
@Override
public List<String> onTabComplete(Plugin plugin, CommandSender sender, String[] args) {
if (args.length == 1) {
return getGameCompletions(plugin, sender, args[0]);
} else {
showUsage(sender);
return noCompletions(sender);
}
}
}