aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0068-Complete-resource-pack-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0068-Complete-resource-pack-API.patch')
-rw-r--r--patches/server/0068-Complete-resource-pack-API.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/patches/server/0068-Complete-resource-pack-API.patch b/patches/server/0068-Complete-resource-pack-API.patch
new file mode 100644
index 0000000000..0ce7ea57c1
--- /dev/null
+++ b/patches/server/0068-Complete-resource-pack-API.patch
@@ -0,0 +1,49 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jedediah Smith <[email protected]>
+Date: Sat, 4 Apr 2015 23:17:52 -0400
+Subject: [PATCH] Complete resource pack API
+
+
+diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+index 26b8a69a528db8a836b138a2a223c385508ce2c4..5f5d8ae29ff702eacc72341fae074a05d977e7cd 100644
+--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
++++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+@@ -201,7 +201,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
+ callback.packEventReceived(packet.id(), net.kyori.adventure.resource.ResourcePackStatus.valueOf(packet.action().name()), this.getCraftPlayer());
+ }
+ // Paper end
+- this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packet.id(), PlayerResourcePackStatusEvent.Status.values()[packet.action().ordinal()])); // CraftBukkit
++ // Paper start - store last pack status
++ PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action().ordinal()];
++ player.getBukkitEntity().resourcePackStatus = packStatus;
++ this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packet.id(), packStatus)); // CraftBukkit
++ // Paper end - store last pack status
+
+ }
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+index 24621c11ff91df8695eecc818e6a94a095c5a9cc..155f7053504874758d8d25a21f0ac613f81ca7d1 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+@@ -206,6 +206,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+ private double healthScale = 20;
+ private CraftWorldBorder clientWorldBorder = null;
+ private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
++ public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API
+
+ public CraftPlayer(CraftServer server, ServerPlayer entity) {
+ super(server, entity);
+@@ -2080,6 +2081,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+ }
+ // Paper end - adventure
+
++ // Paper start - more resource pack API
++ @Override
++ public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status getResourcePackStatus() {
++ return this.resourcePackStatus;
++ }
++ // Paper end - more resource pack API
++
+ @Override
+ public void removeResourcePack(UUID id) {
+ Preconditions.checkArgument(id != null, "Resource pack id cannot be null");