diff options
Diffstat (limited to 'patches/api/0274-add-RespawnFlags-to-PlayerRespawnEvent.patch')
-rw-r--r-- | patches/api/0274-add-RespawnFlags-to-PlayerRespawnEvent.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/patches/api/0274-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0274-add-RespawnFlags-to-PlayerRespawnEvent.patch new file mode 100644 index 0000000000..c596be8b98 --- /dev/null +++ b/patches/api/0274-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -0,0 +1,75 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic <[email protected]> +Date: Thu, 22 Apr 2021 17:17:54 -0700 +Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent + + +diff --git a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java +index 03225d2b4c91caa58c2995d9cf0e7fb4663749ab..b45f265ec7819b06a9a8361e8c1e43fd88b3138b 100644 +--- a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java ++++ b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java +@@ -18,6 +18,7 @@ public class PlayerRespawnEvent extends PlayerEvent { + private final boolean isBedSpawn; + private final boolean isAnchorSpawn; + private final RespawnReason respawnReason; ++ private final java.util.Set<RespawnFlag> respawnFlags; // Paper + + @Deprecated + public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn) { +@@ -29,12 +30,24 @@ public class PlayerRespawnEvent extends PlayerEvent { + this(respawnPlayer, respawnLocation, isBedSpawn, false, RespawnReason.PLUGIN); + } + ++ @Deprecated // Paper + public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn, final boolean isAnchorSpawn, @NotNull final RespawnReason respawnReason) { ++ // Paper start ++ this(respawnPlayer, respawnLocation, isBedSpawn, isAnchorSpawn, respawnReason, com.google.common.collect.ImmutableSet.builder()); ++ } ++ ++ public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn, final boolean isAnchorSpawn, @NotNull final RespawnReason respawnReason, @NotNull final com.google.common.collect.ImmutableSet.Builder<org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag> respawnFlags) { ++ // Paper end + super(respawnPlayer); + this.respawnLocation = respawnLocation; + this.isBedSpawn = isBedSpawn; + this.isAnchorSpawn = isAnchorSpawn; + this.respawnReason = respawnReason; ++ // Paper start ++ if (this.isBedSpawn) { respawnFlags.add(RespawnFlag.BED_SPAWN); } ++ if (this.isAnchorSpawn) { respawnFlags.add(RespawnFlag.ANCHOR_SPAWN); } ++ this.respawnFlags = respawnFlags.build(); ++ // Paper end + } + + /** +@@ -116,4 +129,31 @@ public class PlayerRespawnEvent extends PlayerEvent { + */ + PLUGIN; + } ++ ++ // Paper start ++ /** ++ * Get the set of flags that apply to this respawn. ++ * ++ * @return an immutable set of the flags that apply to this respawn ++ */ ++ @NotNull ++ public java.util.Set<RespawnFlag> getRespawnFlags() { ++ return respawnFlags; ++ } ++ ++ public enum RespawnFlag { ++ /** ++ * Will use the bed spawn location ++ */ ++ BED_SPAWN, ++ /** ++ * Will use the respawn anchor location ++ */ ++ ANCHOR_SPAWN, ++ /** ++ * Is caused by going to the end portal in the end. ++ */ ++ END_PORTAL, ++ } ++ // Paper end + } |