package de.oppermann.bastian.spleef.commands; import java.util.ArrayList; import java.util.List; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import de.oppermann.bastian.spleef.arena.SpleefArena; import de.oppermann.bastian.spleef.util.Language; import de.oppermann.bastian.spleef.util.PlayerManager; import de.oppermann.bastian.spleef.util.command.AbstractArgument; import de.oppermann.bastian.spleef.util.command.SpleefCommand.CommandHelp; import de.oppermann.bastian.spleef.util.command.SpleefCommand.CommandResult; public class StartArgument extends AbstractArgument { /** * Class constructor. */ public StartArgument() { super(new String[]{Language.COMMAND_START.toString()}, 1, "spleef.start", null, Language.COMMAND_START_DESCRIPTION.toString()); } /* * (non-Javadoc) * @see de.oppermann.bastian.spleef.util.command.AbstractArgument#executeForPlayer(org.bukkit.entity.Player, org.bukkit.command.Command, java.lang.String[]) */ @Override public CommandResult executeForPlayer(Player player, Command cmd, String[] args) { if (!player.hasPermission(getPermission())) { return CommandResult.NO_PERMISSION; } SpleefArena arena = PlayerManager.getArena(player.getUniqueId()); if (arena == null) { player.sendMessage(Language.MUST_BE_IN_ARENA.toString()); return CommandResult.SUCCESS; } if (arena.getPlayers().size() < 2) { player.sendMessage(Language.MUST_BE_AT_LEAST_2_PLAYERS.toString()); return CommandResult.SUCCESS; } arena.setCountdown(5, true); player.sendMessage(Language.COUNTDOWN_SET_TO.toString().replace("%seconds%", "5")); return CommandResult.SUCCESS; } /* * (non-Javadoc) * @see de.oppermann.bastian.spleef.util.command.AbstractArgument#executeForServer(org.bukkit.command.CommandSender, org.bukkit.command.Command, java.lang.String[]) */ @Override public CommandResult executeForServer(CommandSender sender, Command cmd, String[] args) { return CommandResult.ONLY_PLAYER; // the console can't join an arena } /* * (non-Javadoc) * @see de.oppermann.bastian.spleef.util.command.AbstractArgument#onTabComplete(org.bukkit.entity.Player, java.lang.String[]) */ @Override public List<String> onTabComplete(Player sender, String[] args) { ArrayList<String> list = new ArrayList<>(); if (args.length == 1) { list.add(Language.COMMAND_START.toString()); } return list; } /* * (non-Javadoc) * @see de.oppermann.bastian.spleef.util.command.AbstractArgument#getCommandHelp() */ @Override public CommandHelp getCommandHelp() { return new CommandHelp("/%cmd% " + Language.COMMAND_START, getDescription()); } }