32 lines
2.2 KiB
Diff
32 lines
2.2 KiB
Diff
|
|
diff --git a/src/main/java/io/papermc/paper/util/player/NearbyPlayers.java b/src/main/java/io/papermc/paper/util/player/NearbyPlayers.java
|
|
index f164256d59b761264876ca0c85f812d101bfd5de..deaeb134c47da8710afa747bf980bd00aab846d6 100644
|
|
--- a/src/main/java/io/papermc/paper/util/player/NearbyPlayers.java
|
|
+++ b/src/main/java/io/papermc/paper/util/player/NearbyPlayers.java
|
|
@@ -106,6 +106,13 @@ public final class NearbyPlayers {
|
|
return chunk == null ? null : chunk.players[type.ordinal()];
|
|
}
|
|
|
|
+ // Plazma start - Port SparklyPaper patches; Cache coordinate key used for nearby players when ticking chunks
|
|
+ public ReferenceList<ServerPlayer> getPlayers(final long nearbyCoordKey, final NearbyMapType type) {
|
|
+ final TrackedChunk chunk = this.byChunk.get(nearbyCoordKey);
|
|
+ return chunk == null ? null : chunk.players[type.ordinal()];
|
|
+ }
|
|
+ // Plazma end - Port SparklyPaper patches; Cache coordinate key used for nearby players when ticking chunks
|
|
+
|
|
public ReferenceList<ServerPlayer> getPlayersByChunk(final int chunkX, final int chunkZ, final NearbyMapType type) {
|
|
final TrackedChunk chunk = this.byChunk.get(CoordinateUtils.getChunkKey(chunkX, chunkZ));
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
|
index 5eb7bcf492ee354ef775cd8d09c7ca2bdfeb7ce2..697cb18bce2f2470a0a2347ba6709e1449b360fd 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
|
@@ -615,7 +615,7 @@ public class ServerChunkCache extends ChunkSource {
|
|
|
|
// Paper start - optimise chunk tick iteration
|
|
com.destroystokyo.paper.util.maplist.ReferenceList<ServerPlayer> playersNearby
|
|
- = nearbyPlayers.getPlayers(chunkcoordintpair, io.papermc.paper.util.player.NearbyPlayers.NearbyMapType.SPAWN_RANGE);
|
|
+ = nearbyPlayers.getPlayers(chunk1.nearbyPlayersCoordinateKey, io.papermc.paper.util.player.NearbyPlayers.NearbyMapType.SPAWN_RANGE);
|
|
if (playersNearby == null) {
|
|
continue;
|
|
}
|