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