From 5b6c59009b2712fd31e4ac2b19b7fa0fa724da96 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Mon, 26 Mar 2018 23:45:18 +0200 Subject: [PATCH] Improve backward compatibility of deprecated player sample API (#1065) Some plugins (e.g. older builds of EssentialsX) assume that ServerListPingEvent.getSampleText() returns a mutable copy of the player sample list. This was the case until it was refactored on top of the new API introduced in #980. As a result, they may run into an error when trying to modify the returned list directly. Modify getSampleText() to return a mutable copy (a plain ArrayList) to mimic the old behavior. --- ...091-Implement-deprecated-player-sample-API.patch | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Spigot-API-Patches/0091-Implement-deprecated-player-sample-API.patch b/Spigot-API-Patches/0091-Implement-deprecated-player-sample-API.patch index dc128f1ae..9aacb4387 100644 --- a/Spigot-API-Patches/0091-Implement-deprecated-player-sample-API.patch +++ b/Spigot-API-Patches/0091-Implement-deprecated-player-sample-API.patch @@ -1,23 +1,22 @@ -From 13d00b73c9c88b40409ce727328ecc3555796068 Mon Sep 17 00:00:00 2001 +From d9f260928670e8d9910d4eede929f7eebd5a4028 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Mon, 27 Nov 2017 16:21:19 +0100 Subject: [PATCH] Implement deprecated player sample API diff --git a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java -index dd1deafd..32cf9f01 100644 +index dd1deafd..db992df2 100644 --- a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java -@@ -4,6 +4,8 @@ import static java.util.Objects.requireNonNull; +@@ -4,6 +4,7 @@ import static java.util.Objects.requireNonNull; import com.destroystokyo.paper.network.StatusClient; import com.destroystokyo.paper.profile.PlayerProfile; +import com.google.common.base.Strings; -+import com.google.common.collect.ImmutableList; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; -@@ -316,4 +318,25 @@ public class PaperServerListPingEvent extends ServerListPingEvent implements Can +@@ -316,4 +317,25 @@ public class PaperServerListPingEvent extends ServerListPingEvent implements Can } } @@ -26,11 +25,11 @@ index dd1deafd..32cf9f01 100644 + @Override + @Deprecated + public List getSampleText() { -+ ImmutableList.Builder sampleText = ImmutableList.builder(); ++ List sampleText = new ArrayList<>(); + for (PlayerProfile profile : getPlayerSample()) { + sampleText.add(Strings.nullToEmpty(profile.getName())); + } -+ return sampleText.build(); ++ return sampleText; + } + + @Override