bukkit
Spelarhändelser
Sök…
Introduktion
Detta är en lista över spelarhändelser och ett exempel på hur du använder dem.
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 lagrar information för spelare som försöker logga in
@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:
- ALLOWED - Spelaren får logga in
- KICK_BANNED - Spelaren får inte logga in på grund av att de är förbjudna
- KICK_FULL - Spelaren får inte logga in på grund av att servern är full
- KICK_OTHER - Spelaren får inte logga in på grund av odefinierade skäl
- KICK_WHITELIST - Spelaren får inte logga in på grund av att de inte finns på den vita listan
Spelarsängshändelser
Händelse avfyras när spelaren går in i en säng: PlayerBedEnterEvent
PlayerBedEnterEvent (Player who, Block bed)
@EventHandler
public void onPlayerBedEnter(PlayerBedEnterEvent e) {
Player entered = e.getPlayer();
Block bedEntered = e.getBed();
}
Händelse avfyras när spelaren lämnar en säng: 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow