001 package org.bukkit.event.player;
002
003 import org.apache.commons.lang.Validate;
004 import org.bukkit.Location;
005 import org.bukkit.entity.Player;
006 import org.bukkit.event.HandlerList;
007
008 /**
009 * Called when a player respawns.
010 */
011 public class PlayerRespawnEvent extends PlayerEvent {
012 private static final HandlerList handlers = new HandlerList();
013 private Location respawnLocation;
014 private final boolean isBedSpawn;
015
016 public PlayerRespawnEvent(final Player respawnPlayer, final Location respawnLocation, final boolean isBedSpawn) {
017 super(respawnPlayer);
018 this.respawnLocation = respawnLocation;
019 this.isBedSpawn = isBedSpawn;
020 }
021
022 /**
023 * Gets the current respawn location
024 *
025 * @return Location current respawn location
026 */
027 public Location getRespawnLocation() {
028 return this.respawnLocation;
029 }
030
031 /**
032 * Sets the new respawn location
033 *
034 * @param respawnLocation new location for the respawn
035 */
036 public void setRespawnLocation(Location respawnLocation) {
037 Validate.notNull(respawnLocation, "Respawn location can not be null");
038 Validate.notNull(respawnLocation.getWorld(), "Respawn world can not be null");
039
040 this.respawnLocation = respawnLocation;
041 }
042
043 /**
044 * Gets whether the respawn location is the player's bed.
045 *
046 * @return true if the respawn location is the player's bed.
047 */
048 public boolean isBedSpawn() {
049 return this.isBedSpawn;
050 }
051
052 @Override
053 public HandlerList getHandlers() {
054 return handlers;
055 }
056
057 public static HandlerList getHandlerList() {
058 return handlers;
059 }
060 }