summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSenmori <thesenmori@gmail.com>2018-08-27 02:47:18 -0400
committermd_5 <git@md-5.net>2018-08-29 19:08:30 +1000
commit9ca2772d4f0b92029844ee0a1bf69ba1d6e73366 (patch)
tree229792717c39f95ec17fa6a174d4a2a74058b1be
parent0279d9b41516e1fa566848cc5affdd0fca0028de (diff)
downloadbukkit-9ca2772d4f0b92029844ee0a1bf69ba1d6e73366.tar
bukkit-9ca2772d4f0b92029844ee0a1bf69ba1d6e73366.tar.gz
bukkit-9ca2772d4f0b92029844ee0a1bf69ba1d6e73366.tar.lz
bukkit-9ca2772d4f0b92029844ee0a1bf69ba1d6e73366.tar.xz
bukkit-9ca2772d4f0b92029844ee0a1bf69ba1d6e73366.zip
API to prevent PlayerBedLeaveEvent from changing a player's spawn location
-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;