mirror of
https://github.com/PaperMC/Paper.git
synced 2025-02-18 19:24:10 +01:00
Fix String based Action Bar to use ChatComponent to handle proper escaping
This commit is contained in:
parent
04c621bb48
commit
2c5f074c1d
2 changed files with 8 additions and 18 deletions
Spigot-Server-Patches
|
@ -5,7 +5,7 @@ Subject: [PATCH] MC Utils
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
index b0aba6089..81fc04ed3 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk {
|
||||
|
@ -18,7 +18,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
index 000000000..1159eea1a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -37,22 +37,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+import java.util.regex.Pattern;
|
||||
+
|
||||
+public final class MCUtil {
|
||||
+ private static final Pattern REPLACE_QUOTES = Pattern.compile("\"");
|
||||
+ private static final Executor asyncExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("Paper Async Task Handler Thread - %1$d").build());
|
||||
+
|
||||
+ private MCUtil() {}
|
||||
+
|
||||
+
|
||||
+ /**
|
||||
+ * Builds a chat componenent from a string.
|
||||
+ * @param str
|
||||
+ * @return
|
||||
+ */
|
||||
+ public static IChatBaseComponent cmpFromMessage(String str) {
|
||||
+ return IChatBaseComponent.ChatSerializer.a("{\"text\":\"" + REPLACE_QUOTES.matcher(str).replaceAll("\\\"") + "\"}");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Ensures the target code is running on the main thread
|
||||
+ * @param reason
|
||||
+ * @param run
|
||||
|
@ -222,7 +212,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
index 90d18f489..2a2f53c82 100644
|
||||
--- a/src/main/java/net/minecraft/server/NBTTagCompound.java
|
||||
+++ b/src/main/java/net/minecraft/server/NBTTagCompound.java
|
||||
@@ -0,0 +0,0 @@ import org.apache.logging.log4j.Logger;
|
||||
|
@ -249,7 +239,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
public UUID a(String s) {
|
||||
return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least"));
|
||||
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
index 370203b2d..ae7498c03 100644
|
||||
--- a/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
@@ -0,0 +0,0 @@ import org.apache.logging.log4j.Logger;
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] String based Action Bar API
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
index fe7b476c0..117cfba80 100644
|
||||
index 1159eea1a..38359517c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -46,7 +46,7 @@ index fe7b476c0..117cfba80 100644
|
|||
+ }
|
||||
|
||||
/**
|
||||
* Builds a chat componenent from a string.
|
||||
* Ensures the target code is running on the main thread
|
||||
@@ -0,0 +0,0 @@ public final class MCUtil {
|
||||
}
|
||||
return null;
|
||||
|
@ -62,7 +62,7 @@ index fe7b476c0..117cfba80 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 3edeb4910..0f0056561 100644
|
||||
index 3edeb4910..26b89799e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -71,7 +71,7 @@ index 3edeb4910..0f0056561 100644
|
|||
@Override
|
||||
+ public void sendActionBar(String message) {
|
||||
+ if (getHandle().playerConnection == null || message == null || message.isEmpty()) return;
|
||||
+ getHandle().playerConnection.sendPacket(new PacketPlayOutChat(net.minecraft.server.MCUtil.cmpFromMessage(message), (byte) 2));
|
||||
+ getHandle().playerConnection.sendPacket(new PacketPlayOutChat(new ChatComponentText(message), (byte) 2));
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
|
|
Loading…
Add table
Reference in a new issue