9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-28 19:39:17 +00:00

Skip null tracker

This commit is contained in:
Dreeam
2024-10-20 17:33:17 -04:00
parent 83c2468f58
commit 7696a17c92
2 changed files with 20 additions and 4 deletions

View File

@@ -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
@@ -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

View File

@@ -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
@@ -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