2018-09-04 00:31:32 +08:00
|
|
|
From 1292c431b99d5f7240fe68b46cdc37a30a8e3e14 Mon Sep 17 00:00:00 2001
|
2018-09-01 18:33:50 +08:00
|
|
|
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 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.18.0
|
|
|
|
|