Fix paper's deserializer removing italics on anvils

This commit is contained in:
BillyGalbreath
2022-11-26 18:33:36 -06:00
parent 9814efc35b
commit a8b26671d1
3 changed files with 19 additions and 9 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow anvil colors
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index 0363d2263b2d6bd6166fa21d7849297e95eddd77..2c5a8be7799aef8d39007761bd9e3396ce5d755e 100644
index 0363d2263b2d6bd6166fa21d7849297e95eddd77..d39b86b90aefab85b92e980f56f690bdfb9da82f 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -280,6 +280,44 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -280,6 +280,54 @@ public class AnvilMenu extends ItemCombinerMenu {
} else if (!this.itemName.equals(itemstack.getHoverName().getString())) {
b1 = 1;
i += b1;
@@ -31,10 +31,20 @@ index 0363d2263b2d6bd6166fa21d7849297e95eddd77..2c5a8be7799aef8d39007761bd9e3396
+ }
+ if (this.player.level.purpurConfig.anvilAllowColors) {
+ if (player.hasPermission("purpur.anvil.color")) {
+ name = name.replaceAll("(?i)&([0-9a-fr])", "\u00a7$1");
+ java.util.regex.Matcher matcher = java.util.regex.Pattern.compile("(?i)&([0-9a-fr])").matcher(name);
+ while (matcher.find()) {
+ String match = matcher.group(1);
+ name = name.replace("&" + match, "\u00a7" + match.toLowerCase(java.util.Locale.ROOT));
+ }
+ //name = name.replaceAll("(?i)&([0-9a-fr])", "\u00a7$1");
+ }
+ if (player.hasPermission("purpur.anvil.format")) {
+ name = name.replaceAll("(?i)&([l-or])", "\u00a7$1");
+ java.util.regex.Matcher matcher = java.util.regex.Pattern.compile("(?i)&([l-or])").matcher(name);
+ while (matcher.find()) {
+ String match = matcher.group(1);
+ name = name.replace("&" + match, "\u00a7" + match.toLowerCase(java.util.Locale.ROOT));
+ }
+ //name = name.replaceAll("(?i)&([l-or])", "\u00a7$1");
+ }
+ }
+ net.kyori.adventure.text.Component component;