mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 23:38:25 +01:00
More Win Screen API (#8805)
Adds methods to get and set whether a player has seen the win screen before.
This commit is contained in:
parent
e343c4eb44
commit
723559e9f0
2 changed files with 41 additions and 0 deletions
|
@ -18,10 +18,39 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ * 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
|
||||
|
|
|
@ -3,6 +3,8 @@ From: Lama06 <andreasprues36@gmail.com>
|
|||
Date: Sat, 21 Jan 2023 13:53:23 +0100
|
||||
Subject: [PATCH] Win Screen API
|
||||
|
||||
== AT ==
|
||||
public net.minecraft.server.level.ServerPlayer seenCredits
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
|
@ -19,6 +21,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ var packet = new ClientboundGameEventPacket(ClientboundGameEventPacket.WIN_GAME, 1);
|
||||
+ getHandle().connection.send(packet);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean hasSeenWinScreen() {
|
||||
+ return getHandle().seenCredits;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setHasSeenWinScreen(boolean hasSeenWinScreen) {
|
||||
+ getHandle().seenCredits = hasSeenWinScreen;
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue