package xyz.etztech.qol.listeners; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerLoginEvent; import xyz.etztech.qol.QoL; public class LoginListener implements Listener { private QoL plugin; public LoginListener(QoL plugin) { this.plugin = plugin; } @EventHandler public void onLogin(PlayerLoginEvent event) { // Whitelist mode if (QoL.getWhitelist() && !event.getPlayer().hasPermission("qol.whitelist.bypass")) { event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, "QoL Whitelist is enabled. Please check back soon."); } // Player cap int max = plugin.getConfig().getInt("server-list.max"); Player player = event.getPlayer(); if (max > 0 && Bukkit.getServer().getOnlinePlayers().size() >= max) { if (player.hasPermission("qol.priority")) { Bukkit.getConsoleSender().sendMessage(player.getName() + " has permission to bypass the player cap."); } else { event.disallow(PlayerLoginEvent.Result.KICK_OTHER, "The server is full!"); } } } }