aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason Penilla <[email protected]>2024-05-11 15:13:18 -0700
committerGitHub <[email protected]>2024-05-12 00:13:18 +0200
commit711f82e01e44d8d86b47040aaa8ce33130b2f194 (patch)
tree6f80e24733ec49e5b5f8d117cba4a8f2fc9e55da
parentac554ad46dabb20bbfee5f3b576baa53485b2ac7 (diff)
downloadPaper-711f82e01e44d8d86b47040aaa8ce33130b2f194.tar.gz
Paper-711f82e01e44d8d86b47040aaa8ce33130b2f194.zip
Fix signed book page serialization (#10696)
-rw-r--r--patches/server/1042-General-ItemMeta-fixes.patch17
1 files changed, 16 insertions, 1 deletions
diff --git a/patches/server/1042-General-ItemMeta-fixes.patch b/patches/server/1042-General-ItemMeta-fixes.patch
index 08ad9d86b0..a91feb64de 100644
--- a/patches/server/1042-General-ItemMeta-fixes.patch
+++ b/patches/server/1042-General-ItemMeta-fixes.patch
@@ -156,7 +156,7 @@ index 12911233c01d0ac1af9adbd157d56d28361fc76f..99ee41e79891d6017f065492efab5af9
private static Material shieldToBannerHack() {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java
-index 3f78a0935d738854182254b345064e3c225dcd5f..1d63632372eb8b078bbbba6f9e583eb93c902746 100644
+index 3f78a0935d738854182254b345064e3c225dcd5f..218df87c596d47b431dbbf2aa42822ef174f948f 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java
@@ -116,8 +116,8 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta {
@@ -179,6 +179,21 @@ index 3f78a0935d738854182254b345064e3c225dcd5f..1d63632372eb8b078bbbba6f9e583eb9
}
}
+@@ -358,7 +358,13 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta {
+ }
+
+ if (this.pages != null) {
+- builder.put(CraftMetaBookSigned.BOOK_PAGES.BUKKIT, ImmutableList.copyOf(this.pages));
++ // Paper start - deserialization expects json
++ final List<String> jsonPages = new ArrayList<>(this.pages.size());
++ for (final Component page : this.pages) {
++ jsonPages.add(CraftChatMessage.toJSON(page));
++ }
++ builder.put(CraftMetaBookSigned.BOOK_PAGES.BUKKIT, ImmutableList.copyOf(jsonPages));
++ // Paper end - deserialization expects json
+ }
+
+ if (this.resolved) {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java
index 8e0dd4b7a7a25a8beb27b507047bc48d8227627c..cf5d27ccc2225bac3aa57912f444f95d2f37e32e 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java