bukkit
Speler evenementen
Zoeken…
Invoering
Dit is een lijst met spelergebeurtenissen en een voorbeeld van hoe ze te gebruiken.
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
Evenement slaat details op voor spelers die proberen in te loggen
@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:
- TOEGELATEN - De speler mag inloggen
- KICK_BANNED - De speler mag zich niet aanmelden omdat deze is verbannen
- KICK_FULL - De speler mag niet inloggen omdat de server vol is
- KICK_OTHER - De speler mag niet inloggen om onduidelijke redenen
- KICK_WHITELIST - De speler mag niet inloggen omdat hij niet op de witte lijst staat
Speler Bed Evenementen
Gebeurtenis afgevuurd wanneer speler een bed binnengaat: PlayerBedEnterEvent
PlayerBedEnterEvent (Player who, Block bed)
@EventHandler
public void onPlayerBedEnter(PlayerBedEnterEvent e) {
Player entered = e.getPlayer();
Block bedEntered = e.getBed();
}
Evenement ontslagen wanneer speler een bed verlaat: 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow