サーチ…


前書き

これは選手イベントのリストとその使用方法の例です。

PlayerJoinEvent

public class PlayerJoinListener implements Listener {
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent evt) {
        Player joined = evt.getPlayer();
        String joinedName = joined.getName();

       //RETRIEVING THE JOIN MESSAGE ALREADY SET
       String joinMessage = evt.getJoinMessage();

       //SETTING THE JOIN MESSAGE
       evt.setJoinMessage(joinedName + " has joined the game");

       //CLEARING THE JOIN MESSAGE
       evt.setJoinMessage(null);
    }
}

PlayerMoveListener

public class PlayerMoveListener implements Listener {
    @EventHandler
    public void onPlayerMove(PlayerMoveEvent evt) {
        Location from = evt.getFrom();
        Location to = evt.getTo();
        double xFrom = from.getX();
        double yFrom = from.getY();
        double zFrom = from.getZ();
        double xTo = to.getX();
        double yTo = to.getY();
        double zTo = to.getZ();

        Bukkit.getLogger().info("Player " + evt.getPlayer().getName() 
                        +  " has moved from x: " + xFrom + " y: " + yFrom + " z: " 
                        + zFrom + " to x: " + xTo + " y: " + yTo + " z: " + zTo);
    }
}

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 - プレイヤーはホワイトリストに載っていないため、ログインできません

プレーヤーのベッドイベント

プレーヤーがベッドに入ったときに発生するイベント: PlayerBedEnterEvent

PlayerBedEnterEvent(プレーヤー、ブロックベッド)

@EventHandler
public void onPlayerBedEnter(PlayerBedEnterEvent e) {
    Player entered = e.getPlayer();

   Block bedEntered = e.getBed();
}


プレーヤーがベッドを離れたときに発生するイベント: PlayerBedLeaveEvent

PlayerBedLeaveEvent(プレーヤー、ブロックベッド)

@EventHandler
public void onPlayerBedEnter(PlayerBedEnterEvent e) {
    Player entered = e.getPlayer();

   Block bedEntered = e.getBed();
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow