QoL/src/main/java/xyz/etztech/qol/commands/TimeoutCommand.java

81 lines
2.1 KiB
Java

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<String> TRUE = Arrays.asList("on", "yes", "true");
private final List<String> 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;
}
}