aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0396-Win-Screen-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0396-Win-Screen-API.patch')
-rw-r--r--patches/api/0396-Win-Screen-API.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/patches/api/0396-Win-Screen-API.patch b/patches/api/0396-Win-Screen-API.patch
new file mode 100644
index 0000000000..05fbb589d3
--- /dev/null
+++ b/patches/api/0396-Win-Screen-API.patch
@@ -0,0 +1,58 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Lama06 <[email protected]>
+Date: Sat, 21 Jan 2023 13:45:22 +0100
+Subject: [PATCH] Win Screen API
+
+
+diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
+index ce5530c27572fefd732301e07393fab0d9c99afb..6dc9a93811d143ed266f0f6235358d58b1e00523 100644
+--- a/src/main/java/org/bukkit/entity/Player.java
++++ b/src/main/java/org/bukkit/entity/Player.java
+@@ -1249,6 +1249,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ */
+ public void sendMap(@NotNull MapView map);
+
++ // Paper start
++ /**
++ * Shows the player the win screen that normally is only displayed after one kills the ender dragon
++ * and exits the end for the first time.
++ * In vanilla, the win screen starts with a poem and then continues with the credits but its content can be
++ * changed by using a resource pack.
++ * <br>
++ * Calling this method does not change the value of {@link #hasSeenWinScreen()}.
++ * That means that the win screen is still displayed to a player if they leave the end for the first time, even though
++ * they have seen it before because this method was called.
++ * Note this method does not make the player invulnerable, which is normally expected when viewing credits.
++ *
++ * @see #hasSeenWinScreen()
++ * @see #setHasSeenWinScreen(boolean)
++ * @see <a href="https://minecraft.wiki/wiki/End_Poem#Technical_details">https://minecraft.wiki/wiki/End_Poem#Technical_details</a>
++ */
++ public void showWinScreen();
++
++ /**
++ * Returns whether this player has seen the win screen before.
++ * When a player leaves the end the win screen is shown to them if they have not seen it before.
++ *
++ * @return Whether this player has seen the win screen before
++ * @see #setHasSeenWinScreen(boolean)
++ * @see #showWinScreen()
++ * @see <a href="https://minecraft.wiki/wiki/End_Poem">https://minecraft.wiki/wiki/End_Poem</a>
++ */
++ public boolean hasSeenWinScreen();
++
++ /**
++ * Changes whether this player has seen the win screen before.
++ * When a player leaves the end the win screen is shown to them if they have not seen it before.
++ *
++ * @param hasSeenWinScreen Whether this player has seen the win screen before
++ * @see #hasSeenWinScreen()
++ * @see #showWinScreen()
++ * @see <a href="https://minecraft.wiki/wiki/End_Poem">https://minecraft.wiki/wiki/End_Poem</a>
++ */
++ public void setHasSeenWinScreen(boolean hasSeenWinScreen);
++ // Paper end
++
+ // Paper start
+ /**
+ * Permanently Bans the Profile and IP address currently used by the player.