PlayerLoginEvent

事件儲存嘗試登入的玩家的詳細資訊

@EventHandler
public void onPlayerLogin(PlayerLoginEvent e) {
    Player tryingToLogin = e.getPlayer();

    //Disallowing a player login
    e.disallow(PlayerLoginEvent.Result.KICK_FULL , "The server is reserved and is full for you!");

    //Allowing a player login
    if (e.getResult() != PlayerLoginEvent.Result.ALLOW) {
        if (isVip(tryingToLogin) ){
            e.allow();
        }
    }

    //Getting player IP
    String ip = e.getAddress();

    //Get the hostname player used to login to the server
    String ipJoined = e.getHostname();

    //Get current result from the login attempt
    PlayerLoginEvent.Result result = e.getResult();

    //Set kick message if Result wasn't ALLOW
    e.setKickMessage("You were kicked!");

    //Retrieve the kick message
    String s = e.getKickMessage();

}

PlayerLoginEvent.Result ENUM:

  • 允許 - 允許玩家登入
  • KICK_BANNED - 由於被禁止,玩家不允許登入
  • KICK_FULL - 由於伺服器已滿,播放器不允許登入
  • KICK_OTHER - 由於未定義的原因,不允許玩家登入
  • KICK_WHITELIST - 由於玩家不在白名單上,因此不允許玩家登入