40 lines
1.2 KiB
Java
40 lines
1.2 KiB
Java
package xyz.etztech.qol.listeners;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.ChatColor;
|
|
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!");
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|