Skip to content

Commit

Permalink
Fix paper's deserializer removing italics on anvils
Browse files Browse the repository at this point in the history
  • Loading branch information
BillyGalbreath committed Nov 27, 2022
1 parent 9814efc commit a8b2667
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 9 deletions.
18 changes: 14 additions & 4 deletions patches/server/0087-Allow-anvil-colors.patch
Expand Up @@ -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;
Expand All @@ -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;
Expand Down
6 changes: 3 additions & 3 deletions patches/server/0159-Config-to-allow-for-unsafe-enchants.patch
Expand Up @@ -27,7 +27,7 @@ index 7c012f1e37b0085c0939797b0dae8996b4953ab8..155b0a1aa58b891e98a55e10f112f611
++i;
} else if (targets.size() == 1) {
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index 2c5a8be7799aef8d39007761bd9e3396ce5d755e..277bd715c0c1dc3724718f643a279b36b8cb1ebc 100644
index d39b86b90aefab85b92e980f56f690bdfb9da82f..eb942aa4cea106f2cd5eaf1e55f96373fe7bea8d 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -209,7 +209,8 @@ public class AnvilMenu extends ItemCombinerMenu {
Expand Down Expand Up @@ -60,7 +60,7 @@ index 2c5a8be7799aef8d39007761bd9e3396ce5d755e..277bd715c0c1dc3724718f643a279b36
i2 = enchantment.getMaxLevel();
}

@@ -360,7 +361,7 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -370,7 +371,7 @@ public class AnvilMenu extends ItemCombinerMenu {
sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client
this.broadcastChanges();
// Purpur start
Expand All @@ -70,7 +70,7 @@ index 2c5a8be7799aef8d39007761bd9e3396ce5d755e..277bd715c0c1dc3724718f643a279b36
((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 2b2115d218a279245f8be5e0c93a2b6200f81241..f7017c330ee2d8e17ab2be294865d7e3fd796456 100644
index 9e308183917884dcb2f8831324d45c9aeef55051..c124f2f3a3cd5a4abfa07d47a230e1730c19455a 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1153,6 +1153,12 @@ public final class ItemStack {
Expand Down
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Make anvil cumulative cost configurable


diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index 277bd715c0c1dc3724718f643a279b36b8cb1ebc..7e518a1382b2bbb5151c8bb3c651c2646b2f2f1b 100644
index eb942aa4cea106f2cd5eaf1e55f96373fe7bea8d..7c52c048fb9b265d57f57f0c69796668235a26fd 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -370,7 +370,7 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -380,7 +380,7 @@ public class AnvilMenu extends ItemCombinerMenu {
}

public static int calculateIncreasedRepairCost(int cost) {
Expand Down

0 comments on commit a8b2667

Please sign in to comment.