PaperMC/Spigot-Server-Patches/0351-fix-newlines-in-spigot-tab-list-API.patch
Aikar 459987d69f
More improvements to activation range, improve turtles
improved the water code so that immunity wont trigger if the entity
has the water pathfinder system active, so this improves support
for all entities that know how to behave in water.

Merged 2 EAR patches together, and removed an MCUtil method that
doesnt have a purpose anymore
2018-10-04 23:18:46 -04:00

59 lines
2.8 KiB
Diff

From f15ad304fc3c04eae815094516634a4e1dfdeac6 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 912b2e6284..6c78c2e823 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