81 lines
2.1 KiB
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;
|
|
}
|
|
|
|
|
|
|
|
}
|