Szukaj…


Wprowadzenie

To jest lista wydarzeń gracza i przykład, jak z nich korzystać.

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

Event przechowuje dane dla graczy próbujących się zalogować

@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:

  • Dozwolone - gracz może się zalogować
  • KICK_BANNED - Gracz nie może się zalogować, ponieważ został zablokowany
  • KICK_FULL - Gracz nie może się zalogować, ponieważ serwer jest pełny
  • KICK_OTHER - Gracz nie może się zalogować z przyczyn nieokreślonych
  • KICK_WHITELIST - Gracz nie może się zalogować, ponieważ nie znajduje się na białej liście

Wydarzenia na łóżku gracza

Zdarzenie uruchamiane, gdy gracz wchodzi do łóżka: PlayerBedEnterEvent

PlayerBedEnterEvent (Gracz, który blokuje łóżko)

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

   Block bedEntered = e.getBed();
}


Zdarzenie uruchamiane, gdy gracz opuszcza łóżko: PlayerBedLeaveEvent

PlayerBedLeaveEvent (Player who, Block bed)

@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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow