bukkit
События игрока
Поиск…
Вступление
Это список игровых событий и пример того, как их использовать.
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