From da4818fdaa1cfe8a528a1b2fc3bf81b3b11da253 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 1 Sep 2018 11:29:52 +0100 Subject: [PATCH] fix newlines in spigot tab list API Spigots implementation around the header/footer strips newlines from the header/footer, this patch allows the tab list header/footer to retain newlines. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index f372f19dec..b6cf96e187 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -370,20 +370,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListHeader(String header) { - this.playerListHeader = CraftChatMessage.fromStringOrNull(header); + this.playerListHeader = CraftChatMessage.fromStringOrNull(header, true); // Paper - fix up spigot tab API updatePlayerListHeaderFooter(); } @Override public void setPlayerListFooter(String footer) { - this.playerListFooter = CraftChatMessage.fromStringOrNull(footer); + this.playerListFooter = CraftChatMessage.fromStringOrNull(footer, true); // Paper - fix up spigot tab API updatePlayerListHeaderFooter(); } @Override public void setPlayerListHeaderFooter(String header, String footer) { - this.playerListHeader = CraftChatMessage.fromStringOrNull(header); - this.playerListFooter = CraftChatMessage.fromStringOrNull(footer); + this.playerListHeader = CraftChatMessage.fromStringOrNull(header, true); // Paper - fix up spigot tab API + this.playerListFooter = CraftChatMessage.fromStringOrNull(footer, true); // Paper - fix up spigot tab API updatePlayerListHeaderFooter(); } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java index a067e39d54..5e20a9a619 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java @@ -143,7 +143,13 @@ public final class CraftChatMessage { } public static IChatBaseComponent fromStringOrNull(String message) { - return (message == null || message.isEmpty()) ? null : fromString(message)[0]; + // Paper start - fix up spigot tab API + return fromStringOrNull(message, false); + } + + public static IChatBaseComponent fromStringOrNull(String message, boolean keepNewlines) { + return (message == null || message.isEmpty()) ? null : fromString(message, keepNewlines)[0]; + // Paper end - fix up spigot tab API } public static IChatBaseComponent[] fromString(String message) { -- 2.19.0