summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/bukkit/event/player/PlayerBedLeaveEvent.java37
1 files changed, 36 insertions, 1 deletions
diff --git a/src/main/java/org/bukkit/event/player/PlayerBedLeaveEvent.java b/src/main/java/org/bukkit/event/player/PlayerBedLeaveEvent.java
index 628ab0b0..0b57635f 100644
--- a/src/main/java/org/bukkit/event/player/PlayerBedLeaveEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerBedLeaveEvent.java
@@ -1,5 +1,6 @@
package org.bukkit.event.player;
+import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
@@ -10,10 +11,12 @@ import org.bukkit.event.HandlerList;
public class PlayerBedLeaveEvent extends PlayerEvent {
private static final HandlerList handlers = new HandlerList();
private final Block bed;
+ private boolean setBedSpawn;
- public PlayerBedLeaveEvent(final Player who, final Block bed) {
+ public PlayerBedLeaveEvent(final Player who, final Block bed, boolean setBedSpawn) {
super(who);
this.bed = bed;
+ this.setBedSpawn = setBedSpawn;
}
/**
@@ -25,6 +28,38 @@ public class PlayerBedLeaveEvent extends PlayerEvent {
return bed;
}
+ /**
+ * Get if this event should set the new spawn location for the
+ * {@link Player}.
+ * <br>
+ * This does not remove any existing spawn location, only prevent it from
+ * being changed (if true).
+ * <br>
+ * To change a {@link Player}'s spawn location, use
+ * {@link Player#setBedSpawnLocation(Location)}.
+ *
+ * @return true if the spawn location will be changed
+ */
+ public boolean shouldSetSpawnLocation() {
+ return setBedSpawn;
+ }
+
+ /**
+ * Set if this event should set the new spawn location for the
+ * {@link Player}.
+ * <br>
+ * This will not remove any existing spawn location, only prevent it from
+ * being changed (if true).
+ * <br>
+ * To change a {@link Player}'s spawn location, use
+ * {@link Player#setBedSpawnLocation(Location)}.
+ *
+ * @param setBedSpawn true to change the new spawn location
+ */
+ public void setSpawnLocation(boolean setBedSpawn) {
+ this.setBedSpawn = setBedSpawn;
+ }
+
@Override
public HandlerList getHandlers() {
return handlers;