Fix String based Action Bar to use ChatComponent to handle proper escaping

This commit is contained in:
Aikar
2016-12-29 08:29:09 -05:00
parent ef781648ef
commit 067c5c3f70
2 changed files with 14 additions and 24 deletions

View File

@@ -1,11 +1,11 @@
From e084bdc8d74009aa017c01186ceda098027069d9 Mon Sep 17 00:00:00 2001
From d9f86b41bde9db6872be73e1fae16fb7dd73bf55 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 27 Dec 2016 15:02:42 -0500
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
@@ -1,10 +1,13 @@
@@ -22,7 +22,7 @@ index fe7b476c0..117cfba80 100644
import javax.annotation.Nullable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
@@ -18,6 +21,24 @@ public final class MCUtil {
@@ -17,6 +20,24 @@ public final class MCUtil {
private MCUtil() {}
@@ -46,8 +46,8 @@ index fe7b476c0..117cfba80 100644
+ }
/**
* Builds a chat componenent from a string.
@@ -196,4 +217,13 @@ public final class MCUtil {
* Ensures the target code is running on the main thread
@@ -186,4 +207,13 @@ 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
@@ -163,6 +163,18 @@ 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