QoL/src/main/java/xyz/etztech/qol/listeners/LoginListener.java

38 lines
1.2 KiB
Java

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!");
}
}
}
}