diff --git a/patches/server/Sign-cleanup-filtering.patch b/patches/server/Sign-cleanup-filtering.patch new file mode 100644 index 0000000000..43af2c092f --- /dev/null +++ b/patches/server/Sign-cleanup-filtering.patch @@ -0,0 +1,38 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shane Freeder +Date: Sat, 30 Apr 2022 00:38:57 +0100 +Subject: [PATCH] Sign cleanup filtering + +TODO: This logic here should be moved into a DataFixer in the next MC release +noting to ensure to apply the cleanup logic here, and clean up the added +tags + +diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java ++++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +@@ -0,0 +0,0 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C + } + // CraftBukkit end + ++ nbt.putBoolean("Paper.cleanedFiltered", true); // Paper + nbt.putString("Color", this.color.getName()); + nbt.putBoolean("GlowingText", this.hasGlowingText); + } +@@ -0,0 +0,0 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C + boolean oldSign = Boolean.getBoolean("convertLegacySigns") && !nbt.getBoolean("Bukkit.isConverted"); + // CraftBukkit end + ++ boolean cleanedFiltered = nbt.getBoolean("Paper.cleanedFiltered"); // Paper + for (int i = 0; i < 4; ++i) { + String s = nbt.getString(SignBlockEntity.RAW_TEXT_FIELD_NAMES[i]); + // CraftBukkit start +@@ -0,0 +0,0 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C + this.messages[i] = ichatbasecomponent; + String s1 = SignBlockEntity.FILTERED_TEXT_FIELD_NAMES[i]; + +- if (nbt.contains(s1, 8)) { ++ if (cleanedFiltered && nbt.contains(s1, 8)) { // Paper + this.filteredMessages[i] = this.loadLine(nbt.getString(s1)); + } else { + this.filteredMessages[i] = ichatbasecomponent;