Fix PaperServerListPingEvent#getPlayerSample not being populated or used (#11387)

This commit is contained in:
Jason Penilla 2024-09-10 10:52:30 -07:00 committed by GitHub
parent 61fe23cd08
commit e945cfe1c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -60,12 +60,13 @@ index 0000000000000000000000000000000000000000..d926ad804355ee2fdc5910b2505e8671
+} +}
diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..874dcbefea469440a9028ddc399a37c929429f62 index 0000000000000000000000000000000000000000..30a19d10869f73d67b794e8e4c035bc5c10209e6
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java +++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
@@ -0,0 +1,97 @@ @@ -0,0 +1,105 @@
+package com.destroystokyo.paper.network; +package com.destroystokyo.paper.network;
+ +
+import com.destroystokyo.paper.profile.PlayerProfile;
+import com.mojang.authlib.GameProfile; +import com.mojang.authlib.GameProfile;
+import io.papermc.paper.adventure.AdventureComponent; +import io.papermc.paper.adventure.AdventureComponent;
+import java.util.ArrayList; +import java.util.ArrayList;
@ -79,6 +80,7 @@ index 0000000000000000000000000000000000000000..874dcbefea469440a9028ddc399a37c9
+import net.minecraft.network.protocol.status.ServerStatus; +import net.minecraft.network.protocol.status.ServerStatus;
+import net.minecraft.server.MinecraftServer; +import net.minecraft.server.MinecraftServer;
+import org.bukkit.craftbukkit.util.CraftIconCache; +import org.bukkit.craftbukkit.util.CraftIconCache;
+import org.jetbrains.annotations.NotNull;
+ +
+public final class StandardPaperServerListPingEventImpl extends PaperServerListPingEventImpl { +public final class StandardPaperServerListPingEventImpl extends PaperServerListPingEventImpl {
+ +
@ -104,6 +106,12 @@ index 0000000000000000000000000000000000000000..874dcbefea469440a9028ddc399a37c9
+ return sample; + return sample;
+ } + }
+ +
+ @Override
+ public @NotNull List<PlayerProfile> getPlayerSample() {
+ this.getListedPlayers(); // Populate the backing list for the transforming view, and null out originalSample (see getListedPlayers and processRequest)
+ return super.getPlayerSample();
+ }
+
+ private List<GameProfile> getPlayerSampleHandle() { + private List<GameProfile> getPlayerSampleHandle() {
+ if (this.originalSample != null) { + if (this.originalSample != null) {
+ return this.originalSample; + return this.originalSample;