32 lines
1.6 KiB
Diff
32 lines
1.6 KiB
Diff
From 2d10001164d6563f0776f9817261f653e036e67c Mon Sep 17 00:00:00 2001
|
|
From: Shane Freeder <theboyetronic@gmail.com>
|
|
Date: Sun, 24 Mar 2019 18:52:31 +0000
|
|
Subject: [PATCH] Don't update entity trackers for worlds without players
|
|
|
|
PlayerList#moveToWorld already untracks the player from the player list,
|
|
meaning that we do not need to worry about this untracking players
|
|
who've left the world, The server also untracks a player during
|
|
disconnect, handing yet another case.
|
|
|
|
If we don't need to untrack players who've left the world, it should be
|
|
reasonably save to do this, as we're not going to be performing any
|
|
server->client updates here, which is what this code is intended to do,
|
|
and all players should be untracked.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
index ce39ea09e..b93fccf91 100644
|
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
@@ -1113,7 +1113,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
|
|
|
|
this.methodProfiler.exit();
|
|
this.methodProfiler.enter("tracker");
|
|
- worldserver.getTracker().updatePlayers();
|
|
+ if (playerList.players.size() > 0) worldserver.getTracker().updatePlayers(); // Paper - No players, why spend time tracking them? (See patch)
|
|
this.methodProfiler.exit();
|
|
this.methodProfiler.exit();
|
|
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
|
|
--
|
|
2.21.0
|
|
|