Skip to content

Commit

Permalink
Skip null tracker
Browse files Browse the repository at this point in the history
  • Loading branch information
Dreeam-qwq committed Oct 20, 2024
1 parent 83c2468 commit 7696a17
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Tracking Optimize: Use thread-safe Collection


diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index b0a6d5951b80a056c7f070188918cac50b0fe9ca..c564136c9304b0cf9aef22dba2fc3a53a1d7f30b 100644
index b0a6d5951b80a056c7f070188918cac50b0fe9ca..3c9c9536202cc7fc6654675296444f512c9eb971 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -241,7 +241,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
Expand All @@ -17,6 +17,22 @@ index b0a6d5951b80a056c7f070188918cac50b0fe9ca..c564136c9304b0cf9aef22dba2fc3a53
public final com.destroystokyo.paper.util.misc.PlayerAreaMap playerMobSpawnMap = new gg.pufferfish.pufferfish.util.AsyncPlayerAreaMap(this.pooledLinkedPlayerHashSets); // Pufferfish
// Paper end - optimise chunk tick iteration

@@ -1158,11 +1158,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
// Leaf end - petal
for (TrackedEntity tracker : this.entityMap.values()) {
+ if (tracker == null) continue; // Leaf - Skip null tracker
+
// update tracker entry
tracker.updatePlayers(tracker.entity.getPlayersInTrackRange());
}

for (TrackedEntity tracker : this.entityMap.values()) {
+ if (tracker == null) continue; // Leaf - Skip null tracker
+
tracker.serverEntity.sendChanges();
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index f1718d57dab1e81c906874f51986868d897f87f1..0e20bf94822dc0f56cfce3e3b4a54235f96d1ef9 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Tracking Optimize: Reduce expensive iteration


diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index c564136c9304b0cf9aef22dba2fc3a53a1d7f30b..65b9af55c1137caee60159808f759d3d5c6fd2de 100644
index 3c9c9536202cc7fc6654675296444f512c9eb971..6faf3ab4a871eaa966c82a28a60a443179846723 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1157,6 +1157,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
Expand All @@ -16,8 +16,8 @@ index c564136c9304b0cf9aef22dba2fc3a53a1d7f30b..65b9af55c1137caee60159808f759d3d
+ if (net.minecraft.server.MinecraftServer.getServer().getPlayerList().players.isEmpty()) return; // Leaf - Don't update since the server is empty
+
for (TrackedEntity tracker : this.entityMap.values()) {
// update tracker entry
tracker.updatePlayers(tracker.entity.getPlayersInTrackRange());
if (tracker == null) continue; // Leaf - Skip null tracker

diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index f45cf9c7c2d67fafee6bb5409ffc975dc0d3b133..07fb29f9bb5a3a4c1dd7d9e9cd9dbbdb62f07d5d 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
Expand Down

0 comments on commit 7696a17

Please sign in to comment.