@Override public void playerPreLogin(PlayerPreLoginEvent event) { final HashMap<String, String> POSTData = new HashMap<String, String>(); POSTData.put("player", event.getName().toLowerCase()); POSTData.put("playerip", event.getAddress().getHostAddress()); POSTData.put("exec", "playerConnect"); final JSONObject object = this.MCBansAPICall(POSTData); if (this.initialLogin) { try { final String banStatus = object.getString("banStatus"); if (!banStatus.equalsIgnoreCase("n")) { final String reason = object.getString("banReason"); if (!reason.equals("") && this.enable_loginban) { event.disallow(Result.KICK_BANNED, "Banned: " + reason); SuperBans.log("Disconnected " + event.getName() + " for MCBans ban: " + reason); return; } } final double rep = object.getDouble("playerRep"); SuperBans.Debug("Rep:" + rep + " MIN:" + this.minRep); if ((rep < this.minRep) && this.enable_minrep) { event.disallow(Result.KICK_OTHER, "Your MCBans reputation is too low!"); SuperBans.log("Disconnected " + event.getName() + " for low reputation: " + rep); return; } } catch (final JSONException e) { SuperBans.Debug("Failure in MCBans player connect", e); } } }
@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; } }