001 package org.bukkit.event.player;
002
003 import org.bukkit.entity.Player;
004 import org.bukkit.event.Cancellable;
005 import org.bukkit.event.HandlerList;
006
007 /**
008 * Called when a player gets kicked from the server
009 */
010 public class PlayerKickEvent extends PlayerEvent implements Cancellable {
011 private static final HandlerList handlers = new HandlerList();
012 private String leaveMessage;
013 private String kickReason;
014 private Boolean cancel;
015
016 public PlayerKickEvent(final Player playerKicked, final String kickReason, final String leaveMessage) {
017 super(playerKicked);
018 this.kickReason = kickReason;
019 this.leaveMessage = leaveMessage;
020 this.cancel = false;
021 }
022
023 /**
024 * Gets the reason why the player is getting kicked
025 *
026 * @return string kick reason
027 */
028 public String getReason() {
029 return kickReason;
030 }
031
032 /**
033 * Gets the leave message send to all online players
034 *
035 * @return string kick reason
036 */
037 public String getLeaveMessage() {
038 return leaveMessage;
039 }
040
041 public boolean isCancelled() {
042 return cancel;
043 }
044
045 public void setCancelled(boolean cancel) {
046 this.cancel = cancel;
047 }
048
049 /**
050 * Sets the reason why the player is getting kicked
051 *
052 * @param kickReason kick reason
053 */
054 public void setReason(String kickReason) {
055 this.kickReason = kickReason;
056 }
057
058 /**
059 * Sets the leave message send to all online players
060 *
061 * @param leaveMessage leave message
062 */
063 public void setLeaveMessage(String leaveMessage) {
064 this.leaveMessage = leaveMessage;
065 }
066
067 @Override
068 public HandlerList getHandlers() {
069 return handlers;
070 }
071
072 public static HandlerList getHandlerList() {
073 return handlers;
074 }
075 }