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

76 lines
2.0 KiB
Java
Raw Normal View History

2018-09-12 15:53:47 +00:00
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;
}
}