@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onPlayerLogin(final AsyncPlayerPreLoginEvent event) { if (!server.getOnlineMode()) return; if (event.getLoginResult() == AsyncPlayerPreLoginEvent.Result.KICK_BANNED) return; logger.log(Level.FINER, "Received " + event.getEventName()); final String playerName = event.getName(); if (this.isPlayerBanned(playerName)) { final BanRecord record = this.playerRecordManager.find(playerName).getActiveBan(); final String message = this.getKickMessage(record); event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_BANNED, message); } }
@EventHandler(priority = EventPriority.MONITOR) public void onJoin(AsyncPlayerPreLoginEvent event) { PlayerData player = new PlayerData(event.getUniqueId(), event.getName(), event.getAddress()); try { plugin.getPlayerStorage().createOrUpdate(player); } catch (SQLException e) { PluginLogger.warn(e); return; } if (plugin.getConfiguration().isLogIpsEnabled()) { plugin.getPlayerHistoryStorage().create(player); } }
public static void handlePlayerPreLogin(AsyncPlayerPreLoginEvent event) { final String ip = event.getAddress().getHostAddress().trim(); final boolean isAdmin = TFM_AdminList.isSuperAdminSafe(null, ip); // Check if the player is already online for (Player onlinePlayer : TotalFreedomMod.server.getOnlinePlayers()) { if (!onlinePlayer.getName().equalsIgnoreCase(event.getName())) { continue; } if (!isAdmin) { event.disallow( AsyncPlayerPreLoginEvent.Result.KICK_OTHER, "Your username is already logged into this server."); } else { event.allow(); TFM_Sync.playerKick( onlinePlayer, "An admin just logged in with the username you are using."); } return; } }
@SuppressWarnings("deprecation") @EventHandler(order = Order.EARLIEST) public void onPlayerPreLogin(PlayerPreLoginEvent event) { if (event.isCancelled()) { return; } // Do both events here because Spout login events are all async org.bukkit.event.player.AsyncPlayerPreLoginEvent asyncPreLogin = new org.bukkit.event.player.AsyncPlayerPreLoginEvent(event.getName(), event.getAddress()); Bukkit.getPluginManager().callEvent(asyncPreLogin); if (asyncPreLogin.getLoginResult() != org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result.ALLOWED) { toKick.put(asyncPreLogin.getName(), asyncPreLogin.getKickMessage()); return; } org.bukkit.event.player.PlayerPreLoginEvent preLogin = new org.bukkit.event.player.PlayerPreLoginEvent(event.getName(), event.getAddress()); Bukkit.getPluginManager().callEvent(preLogin); if (preLogin.getResult() != org.bukkit.event.player.PlayerPreLoginEvent.Result.ALLOWED) { toKick.put(preLogin.getName(), preLogin.getKickMessage()); return; } }