package com.lifeknight.relaymcbungeemain.commands.staff; import com.lifeknight.relaymcbungeemain.commands.CommandUtilities; import com.lifeknight.relaymcbungeemain.player.SmartPlayer; import com.lifeknight.relayutils.basic.Miscellaneous; import com.lifeknight.relayutils.basic.Text; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.plugin.Command; import net.md_5.bungee.api.plugin.TabExecutor; import java.util.ArrayList; import java.util.List; import static net.md_5.bungee.api.ChatColor.GREEN; import static net.md_5.bungee.api.ChatColor.YELLOW; public class ManhuntQuitsCommand extends Command implements TabExecutor { private static final List COMMANDS = Miscellaneous.getList("set", "view"); public ManhuntQuitsCommand() { super("manhuntquits"); } @Override public void execute(CommandSender commandSender, String[] arguments) { if (!CommandUtilities.isStaff(commandSender)) { CommandUtilities.sendInsufficientPermissionsMessage(commandSender); return; } if (arguments.length > 0) { switch (COMMANDS.indexOf(arguments[0].toLowerCase())) { case 0: if (arguments.length > 1) { String name = arguments[1]; SmartPlayer player = SmartPlayer.getSmartPlayerOrNick(name); if (player == null) { CommandUtilities.noPlayerFound(commandSender, name); } else { if (arguments.length > 2) { try { int quits = Integer.parseInt(arguments[2]); int original = player.getManhuntQuits(); player.setManhuntQuits(quits); if (player.getManhuntQuits() == 0 && original != 0) { player.unBanFromManhunt(); } else if (player.getManhuntQuits() >= 3 && original < 3) { player.setManhuntQuits(player.getManhuntQuits() - 1); player.manhuntQuit(); } CommandUtilities.sendSuccessMessage(commandSender, "Updated quits for %s%s.", player.getFormattedName(), GREEN); } catch (Exception exception) { CommandUtilities.sendUsageMessage(commandSender, "/manhuntquits set [player] [quits]"); } } else { CommandUtilities.sendUsageMessage(commandSender, "/manhuntquits set [player] [quits]"); } } } break; case 1: if (arguments.length > 1) { String name = arguments[1]; SmartPlayer player = SmartPlayer.getSmartPlayerOrNick(name); if (player == null) { CommandUtilities.noPlayerFound(commandSender, name); } else { CommandUtilities.sendInfoMessage(commandSender, "%s%s quits: %d", player.getPossessiveFormattedName(), YELLOW, player.getManhuntQuits()); } } break; } } else { CommandUtilities.sendInfoMessage(commandSender, ""); } } @Override public Iterable onTabComplete(CommandSender commandSender, String[] arguments) { if (CommandUtilities.isStaff(commandSender)) { if (arguments.length == 1) { return Text.returnStartingEntries(COMMANDS, arguments[0], true); } } return new ArrayList<>(); } }