示例#1
0
 @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);
     }
   }
 }
示例#2
0
 @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;
   }
 }