mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@c1b4899 Fix dupe uuid check on entity add (#6735) PaperMC/Paper@3f043f7 Async catch modifications to critical entity state PaperMC/Paper@bc43f40 Update jline and TCA (#6829) PaperMC/Paper@d9e2817 Update paperweight to 1.1.13 (#6866) PaperMC/Paper@3e310e0 Remove redundant and unneeded repos, reorder repos (#6867) PaperMC/Paper@485d15f Update paperweight to 1.1.14 (#6868) PaperMC/Paper@09d50a9 Added missing mappings (#6810) PaperMC/Paper@0968cdd Move async catches back to where they were (#6869) PaperMC/Paper@6f71b7c Deduplicate strings in ObfHelper (#6841) PaperMC/Paper@ada930b Updated Upstream (Bukkit/CraftBukkit) (#6872) PaperMC/Paper@06d82e0 Cache palette array (#6767) PaperMC/Paper@70fe58d Expose the potential player cause of a lightning (#6782) PaperMC/Paper@c20c9d3 Fix CraftNamespacedKey shenanigans (#6825) PaperMC/Paper@29bb5a9 Add PlayerDeathEvent#getPlayer for clarity (#6859) PaperMC/Paper@124d079 Fix issues with mob conversion (#6831) PaperMC/Paper@22b0238 Add API for checking if a zombie has the option to break doors (#6855) PaperMC/Paper@5af80b0 Add isCollidable methods to various places (#6870) PaperMC/Paper@32ba088 Fix setPatternColor on tropical fish bucket meta (#6877) PaperMC/Paper@87121ce Move `getTrackedPlayers` up from Player to Entity (#6569) PaperMC/Paper@a923e33 Make despawn distance configs per-category, improve per category spawn limit config (#6717) PaperMC/Paper@3f17694 Goat ram API (#6336) PaperMC/Paper@cc2ecbc Add Raw Byte Entity Serialization (#6826) Airplane Changes: TECHNOVE/Airplane@e47949b Ty Penple <3 TECHNOVE/Airplane@86fee6b Update upstream
100 lines
5.2 KiB
Diff
100 lines
5.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Tue, 17 Aug 2021 17:39:14 -0500
|
|
Subject: [PATCH] Add force and prompt parameters to resource pack api
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
index 639b2e49ffdf9c9bc20f7af177614b35699ac539..2d8ade668c63a72f42ae8e4cdbece22c3686b721 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -1494,6 +1494,88 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
*/
|
|
public void setResourcePack(@NotNull String url, @NotNull byte[] hash);
|
|
|
|
+ // Purpur start
|
|
+ /**
|
|
+ * Request that the player's client download and switch resource packs.
|
|
+ * <p>
|
|
+ * The player's client will download the new resource pack asynchronously
|
|
+ * in the background, and will automatically switch to it once the
|
|
+ * download is complete. If the client has downloaded and cached a
|
|
+ * resource pack with the same hash in the past it will not download but
|
|
+ * directly apply the cached pack. When this request is sent for the very
|
|
+ * first time from a given server, the client will first display a
|
|
+ * confirmation GUI to the player before proceeding with the download.
|
|
+ * <p>
|
|
+ * Notes:
|
|
+ * <ul>
|
|
+ * <li>Players can disable server resources on their client, in which
|
|
+ * case this method will have no affect on them. Use the
|
|
+ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
|
|
+ * the player loaded the pack!
|
|
+ * <li>There is no concept of resetting resource packs back to default
|
|
+ * within Minecraft, so players will have to relog to do so or you
|
|
+ * have to send an empty pack.
|
|
+ * </ul>
|
|
+ *
|
|
+ * @param url The URL from which the client will download the resource
|
|
+ * pack. The string must contain only US-ASCII characters and should
|
|
+ * be encoded as per RFC 1738.
|
|
+ * @param hash The sha1 hash sum of the resource pack file which is used
|
|
+ * to apply a cached version of the pack directly without downloading
|
|
+ * if it is available. Hast to be 20 bytes long!
|
|
+ * @param force If true, players will get kicked from the server if the
|
|
+ * resource pack is denied.
|
|
+ * @param prompt The server message added to the resource pack prompt.
|
|
+ * @throws IllegalArgumentException Thrown if the URL is null.
|
|
+ * @throws IllegalArgumentException Thrown if the URL is too long. The
|
|
+ * length restriction is an implementation specific arbitrary value.
|
|
+ * @throws IllegalArgumentException Thrown if the hash is null.
|
|
+ * @throws IllegalArgumentException Thrown if the hash is not 20 bytes
|
|
+ * long.
|
|
+ */
|
|
+ void setResourcePack(@NotNull String url, @NotNull byte[] hash, boolean force, @Nullable String prompt);
|
|
+
|
|
+ /**
|
|
+ * Request that the player's client download and switch resource packs.
|
|
+ * <p>
|
|
+ * The player's client will download the new resource pack asynchronously
|
|
+ * in the background, and will automatically switch to it once the
|
|
+ * download is complete. If the client has downloaded and cached a
|
|
+ * resource pack with the same hash in the past it will not download but
|
|
+ * directly apply the cached pack. When this request is sent for the very
|
|
+ * first time from a given server, the client will first display a
|
|
+ * confirmation GUI to the player before proceeding with the download.
|
|
+ * <p>
|
|
+ * Notes:
|
|
+ * <ul>
|
|
+ * <li>Players can disable server resources on their client, in which
|
|
+ * case this method will have no affect on them. Use the
|
|
+ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
|
|
+ * the player loaded the pack!
|
|
+ * <li>There is no concept of resetting resource packs back to default
|
|
+ * within Minecraft, so players will have to relog to do so or you
|
|
+ * have to send an empty pack.
|
|
+ * </ul>
|
|
+ *
|
|
+ * @param url The URL from which the client will download the resource
|
|
+ * pack. The string must contain only US-ASCII characters and should
|
|
+ * be encoded as per RFC 1738.
|
|
+ * @param hash The sha1 hash sum of the resource pack file which is used
|
|
+ * to apply a cached version of the pack directly without downloading
|
|
+ * if it is available. Hast to be 20 bytes long!
|
|
+ * @param force If true, players will get kicked from the server if the
|
|
+ * resource pack is denied.
|
|
+ * @param prompt The server message added to the resource pack prompt.
|
|
+ * @throws IllegalArgumentException Thrown if the URL is null.
|
|
+ * @throws IllegalArgumentException Thrown if the URL is too long. The
|
|
+ * length restriction is an implementation specific arbitrary value.
|
|
+ * @throws IllegalArgumentException Thrown if the hash is null.
|
|
+ * @throws IllegalArgumentException Thrown if the hash is not 20 bytes
|
|
+ * long.
|
|
+ */
|
|
+ void setResourcePack(@NotNull String url, @NotNull byte[] hash, boolean force, @Nullable net.kyori.adventure.text.Component prompt);
|
|
+ // Purpur end
|
|
+
|
|
/**
|
|
* Gets the Scoreboard displayed to this player
|
|
*
|