aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason Penilla <[email protected]>2023-12-11 20:24:48 -0800
committerGitHub <[email protected]>2023-12-11 20:24:48 -0800
commit82f9280ae46c16cd18cf21f4b0d7802328a36020 (patch)
tree12d3f0859231d26eedddaaf301bd025420c13e3d
parent28abbaa7bda4a072711315cdbe9bd992eaf63c93 (diff)
downloadPaper-82f9280ae46c16cd18cf21f4b0d7802328a36020.tar.gz
Paper-82f9280ae46c16cd18cf21f4b0d7802328a36020.zip
Fix deprecated bungee APIs still serializing to JSON in packets (#10028)
-rw-r--r--patches/server/0056-Player-Tab-List-and-Title-APIs.patch17
-rw-r--r--patches/server/0233-Remove-unnecessary-itemmeta-handling.patch6
2 files changed, 12 insertions, 11 deletions
diff --git a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch
index ff80fd4603..206e5c3ec9 100644
--- a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch
@@ -5,21 +5,22 @@ Subject: [PATCH] Player Tab List and Title APIs
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
-index bc7d0cc8d66f07b45cffd9952829cc9bed9ce260..00beadec2ad995d724758d051457a3d780d9d813 100644
+index bc7d0cc8d66f07b45cffd9952829cc9bed9ce260..3374ea2fa61e1683c4c4d7ea3ef9b8a20cd09f62 100644
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
-@@ -532,6 +532,11 @@ public class FriendlyByteBuf extends ByteBuf {
+@@ -538,6 +538,12 @@ public class FriendlyByteBuf extends ByteBuf {
// TODO this.adventure$locale
- return this.writeWithCodec(NbtOps.INSTANCE, ComponentSerialization.CODEC, io.papermc.paper.adventure.PaperAdventure.asVanilla(component));
+ return this.writeWithCodec(NbtOps.INSTANCE, ComponentSerialization.CODEC, text);
}
-+
++ // Paper start - deprecated Tab List & Title APIs
+ @Deprecated
+ public FriendlyByteBuf writeComponent(final net.md_5.bungee.api.chat.BaseComponent[] component) {
-+ return this.writeUtf(net.md_5.bungee.chat.ComponentSerializer.toString(component), 262144);
++ return this.writeComponent(java.util.Objects.requireNonNull(Component.Serializer.fromJson(net.md_5.bungee.chat.ComponentSerializer.toString(component))));
+ }
- // Paper end
++ // Paper end - deprecated Tab List & Title APIs
- public FriendlyByteBuf writeComponent(Component text) {
+ public <T extends Enum<T>> T readEnum(Class<T> enumClass) {
+ return ((T[]) enumClass.getEnumConstants())[this.readVarInt()]; // CraftBukkit - fix decompile error
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundSetSubtitleTextPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundSetSubtitleTextPacket.java
index e77bd5bb66279f579fad4fdcc8b0606410922e9e..4c05fee93eb20044a4198c43d5ae1eebebaabaf7 100644
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundSetSubtitleTextPacket.java
@@ -63,7 +64,7 @@ index 7bb08db97c324d13836303cc8a4623c71d6c8a2c..5e9045f7722481e1f83a3d36d7b3d86e
// Paper end
buf.writeComponent(this.text);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 445e1349256a788a59831893ba7238ae95ae6bef..136dd30ae472a58845a2d8f399d2040faed09345 100644
+index 7b0e382d1c31ee63cd1b1ccbf7f2fc7dda78fe9c..268e524550f76b77b12c808c682d5416f802d98e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1,5 +1,6 @@
diff --git a/patches/server/0233-Remove-unnecessary-itemmeta-handling.patch b/patches/server/0233-Remove-unnecessary-itemmeta-handling.patch
index 82f377ad73..1f4a5d63d1 100644
--- a/patches/server/0233-Remove-unnecessary-itemmeta-handling.patch
+++ b/patches/server/0233-Remove-unnecessary-itemmeta-handling.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Remove unnecessary itemmeta handling
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
-index 00beadec2ad995d724758d051457a3d780d9d813..ff794499df6a2b65db2ca5956d2b98317592057f 100644
+index 3374ea2fa61e1683c4c4d7ea3ef9b8a20cd09f62..23d78a3193c30dd99d42182628c0e9e4527fc143 100644
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
-@@ -641,7 +641,7 @@ public class FriendlyByteBuf extends ByteBuf {
+@@ -642,7 +642,7 @@ public class FriendlyByteBuf extends ByteBuf {
if (item.canBeDepleted() || item.shouldOverrideMultiplayerNbt()) {
// Spigot start - filter
stack = stack.copy();
@@ -17,7 +17,7 @@ index 00beadec2ad995d724758d051457a3d780d9d813..ff794499df6a2b65db2ca5956d2b9831
// Spigot end
nbttagcompound = stack.getTag();
}
-@@ -662,7 +662,7 @@ public class FriendlyByteBuf extends ByteBuf {
+@@ -663,7 +663,7 @@ public class FriendlyByteBuf extends ByteBuf {
itemstack.setTag(this.readNbt());
// CraftBukkit start