76 lines
2.0 KiB
Java
76 lines
2.0 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 WhitelistCommand 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 WhitelistCommand(QoL paramQoL)
|
|
{
|
|
this.plugin = paramQoL;
|
|
}
|
|
|
|
@Override
|
|
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) {
|
|
if (!commandSender.hasPermission("qol.whitelist.command")) {
|
|
EtzTechUtil.sms(commandSender, Lang.NO_PERMISSION.getDef());
|
|
return true;
|
|
}
|
|
|
|
if (args.length < 1) {
|
|
EtzTechUtil.sms(commandSender, ChatColor.RED + "/whitelist on|off|yes|no|true|false");
|
|
return true;
|
|
}
|
|
|
|
Boolean enabled = parse(args[0]);
|
|
|
|
if (enabled == null) {
|
|
EtzTechUtil.sms(commandSender, ChatColor.RED + "/whitelist on|off|yes|no|true|false");
|
|
return true;
|
|
}
|
|
|
|
QoL.setWhitelist(enabled);
|
|
EtzTechUtil.sms(commandSender, ChatColor.GREEN + "Whitelist mode: " + ChatColor.YELLOW + enabled);
|
|
|
|
if (enabled) {
|
|
for (Player player : Bukkit.getOnlinePlayers()) {
|
|
if (!player.hasPermission("qol.whitelist.bypass")) {
|
|
player.kickPlayer("Whitelist mode has been enabled. Please check back later.");
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
return true;
|
|
}
|
|
|
|
private Boolean parse(String bool) {
|
|
if (TRUE.contains(bool)) {
|
|
return true;
|
|
}
|
|
if (FALSE.contains(bool)) {
|
|
return false;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
|
|
|
|
}
|