Buscar..


Introducción

Esta es una lista de eventos de jugadores y un ejemplo sobre cómo usarlos.

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

Detalles de tiendas de eventos para jugadores que intentan iniciar sesión

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

  • PERMITIDO - El jugador puede iniciar sesión
  • KICK_BANNED - El jugador no tiene permiso para iniciar sesión, debido a que están prohibidos
  • KICK_FULL: el reproductor no tiene permiso para iniciar sesión debido a que el servidor está lleno
  • KICK_OTHER - El jugador no tiene permitido iniciar sesión, por razones no definidas
  • KICK_WHITELIST - El jugador no tiene permiso para iniciar sesión, debido a que no están en la lista blanca

Eventos de la cama del jugador

Evento disparado cuando el jugador entra en la cama: PlayerBedEnterEvent

PlayerBedEnterEvent (Player who, Block bed)

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

   Block bedEntered = e.getBed();
}


Evento activado cuando el jugador deja una cama: 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow