Paper/Spigot-Server-Patches/0348-fix-newlines-in-spigot-tab-list-API.patch
Zach Brown 8ed2992da9
Make scan-for-legacy-ender-dragon config work again
Portion of diff was dropped in the mappings update commit.

Also remove the option to remove invalid statistics. The server will
automatically do this now as of... 1.13?, our option wasn't even doing anything.
2018-12-14 20:17:27 -05:00

60 lines
2.8 KiB
Diff

From 90641f4259ba4f723f4d86556b4715591150a05e Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
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 0f1d700c7..0a0ea301d 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 a067e39d5..5e20a9a61 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.20.0