mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-25 02:17:35 +01:00
c0d07c1b67
Upstream has released updates that appears 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: f009c3dd SPIGOT-5810, SPIGOT-5835: 'Better' handling of Player.isOnGround e677c370 Update ECJ version 5058a35d SPIGOT-5860: Item.setItemStack should be NotNull CraftBukkit Changes:d77f4d9b
SPIGOT-5810, SPIGOT-5835: 'Better' handling of Player.isOnGround53c95627
SPIGOT-5865: Piglin does not trigger EntityPickupItemEvent2ab04d24
Update ECJ version7884e079
SPIGOT-5868: Blocks do not tick in custom nether / end2a848286
SPIGOT-5863: Don't check colour in scoreboard length validationf2cbce30
SPIGOT-5866: Beehive unknown TargetReason Spigot Changes: ad703da0 SPIGOT-5870: /plugins "website" field shows "version" 1a27cfd8 #98: Improve output of /plugins command using text components 732d5bab Disable checkstyle in Spigot blocks 0199a9a6 #97: Add Memory Usage to Ticks Per Second Command. 33ea98fc SPIGOT-5858: NPE: Joining the server with an invalid dimension
121 lines
5.0 KiB
Diff
121 lines
5.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jedediah Smith <jedediah@silencegreys.com>
|
|
Date: Sat, 4 Apr 2015 22:59:54 -0400
|
|
Subject: [PATCH] Complete resource pack API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
index eab4e326392efa93dd9acd086755a97616c79c39..bc9ff9b4a475d8b108b54f2d4a99199379b1c63d 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -1021,7 +1021,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
* @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.
|
|
+ * @deprecated use {@link #setResourcePack(String, String)}
|
|
*/
|
|
+ @Deprecated // Paper
|
|
public void setResourcePack(@NotNull String url);
|
|
|
|
/**
|
|
@@ -1459,6 +1461,62 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
*/
|
|
public void openBook(@NotNull ItemStack book);
|
|
|
|
+ // Paper 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 the same
|
|
+ * resource pack in the past, it will perform a quick timestamp check
|
|
+ * over the network to determine if the resource pack has changed and
|
|
+ * needs to be downloaded again. 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.
|
|
+ * <li>There is no concept of resetting resource packs back to default
|
|
+ * within Minecraft, so players will have to relog to do so.
|
|
+ * </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 A 40 character hexadecimal and lowercase SHA-1 digest of
|
|
+ * the resource pack file.
|
|
+ * @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.
|
|
+ */
|
|
+ void setResourcePack(@NotNull String url, @NotNull String hash);
|
|
+
|
|
+ /**
|
|
+ * @return the most recent resource pack status received from the player,
|
|
+ * or null if no status has ever been received from this player.
|
|
+ */
|
|
+ @Nullable
|
|
+ org.bukkit.event.player.PlayerResourcePackStatusEvent.Status getResourcePackStatus();
|
|
+
|
|
+ /**
|
|
+ * @return the most recent resource pack hash received from the player,
|
|
+ * or null if no hash has ever been received from this player.
|
|
+ *
|
|
+ * @deprecated This is no longer sent from the client and will always be null
|
|
+ */
|
|
+ @Nullable
|
|
+ @Deprecated
|
|
+ String getResourcePackHash();
|
|
+
|
|
+ /**
|
|
+ * @return true if the last resource pack status received from this player
|
|
+ * was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED}
|
|
+ */
|
|
+ boolean hasResourcePack();
|
|
+ // Paper end
|
|
+
|
|
// Spigot start
|
|
public class Spigot extends Entity.Spigot {
|
|
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java
|
|
index b98195650d49d78ec35970ca0376b6289b861e4b..4c2102a11c3d682d98f0db4ccafa35231e66bcdd 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java
|
|
@@ -11,13 +11,32 @@ import org.jetbrains.annotations.NotNull;
|
|
public class PlayerResourcePackStatusEvent extends PlayerEvent {
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
+ @Deprecated
|
|
+ private final String hash; // Paper
|
|
private final Status status;
|
|
|
|
public PlayerResourcePackStatusEvent(@NotNull final Player who, @NotNull Status resourcePackStatus) {
|
|
super(who);
|
|
+ this.hash = null; // Paper
|
|
this.status = resourcePackStatus;
|
|
}
|
|
|
|
+ @Deprecated // Paper
|
|
+ public PlayerResourcePackStatusEvent(final Player who, Status resourcePackStatus, String hash) {
|
|
+ super(who);
|
|
+ this.hash = hash; // Paper
|
|
+ this.status = resourcePackStatus;
|
|
+ }
|
|
+
|
|
+ @Deprecated
|
|
+ /**
|
|
+ * @deprecated Hash does not seem to ever be set
|
|
+ */
|
|
+ public String getHash() {
|
|
+ return this.hash;
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Gets the status of this pack.
|
|
*
|