Paper/patches/api/0409-Win-Screen-API.patch
Jake Potrebic b5ce6e3dc5
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9104)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
eb4b416d PR-822: Add experimental armor trim API
33498e1d PR-831: Add a standard of annotations for Minecraft experimental things and API

CraftBukkit Changes:
19de3550d SPIGOT-7315: Bed placement duplicates crops if cancelled
1eb88374e PR-1147: Add experimental armor trim API
c4c0bb0e9 Show clean error for invalidly configured server.properties options
3ae90697f Fix UUID not being updated when changing world of MapView
e43000601 PR-1164, MC-227255, MC-253819: Fix rotation of beehives and bells

Spigot Changes:
d2fdfe39 Rebuild patches
2023-04-09 01:00:50 +01:00

59 lines
2.7 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Lama06 <andreasprues36@gmail.com>
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 a6399eb076b7889085ffa1afcd9d432afdc29f85..ee446bfb3e6c4b1d4428c00d6406bf9455c68ad5 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -876,6 +876,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.fandom.com/wiki/End_Poem#Technical_details">https://minecraft.fandom.com/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.fandom.com/wiki/End_Poem">https://minecraft.fandom.com/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.fandom.com/wiki/End_Poem">https://minecraft.fandom.com/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.