package xyz.etztech.qol.commands; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import xyz.etztech.qol.EtzTechUtil; import xyz.etztech.qol.Lang; import xyz.etztech.qol.QoL; import java.util.Arrays; import java.util.List; public class TimeoutCommand implements CommandExecutor { private final List TRUE = Arrays.asList("on", "yes", "true"); private final List FALSE = Arrays.asList("off", "no", "false"); QoL plugin; public TimeoutCommand(QoL paramQoL) { this.plugin = paramQoL; } @Override public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) { if (!commandSender.hasPermission("qol.timeout.command")) { EtzTechUtil.sms(commandSender, Lang.NO_PERMISSION.getDef()); return true; } String name; if (commandSender instanceof Player) { name = commandSender.getName(); } else { name = "Console"; } if (args.length < 1) { EtzTechUtil.sms(commandSender, ChatColor.RED + "/timeout on|off|yes|no|true|false"); return true; } Boolean enabled = parse(args[0]); if (enabled == null) { EtzTechUtil.sms(commandSender, ChatColor.RED + "/timeout on|off|yes|no|true|false"); return true; } QoL.setTimeout(enabled); String activated = enabled ? "activated" : "deactivated"; for (Player player : Bukkit.getOnlinePlayers()) { EtzTechUtil.sms(player, ChatColor.YELLOW + "A chat timeout has been " + activated + " by " + ChatColor.GREEN + name + ChatColor.YELLOW + "."); } return true; } private Boolean parse(String bool) { if (TRUE.contains(bool)) { return true; } if (FALSE.contains(bool)) { return false; } return null; } }