32 lines
1.6 KiB
Diff
32 lines
1.6 KiB
Diff
|
From 1b01715133963b2fda50c547261b419386e12cc3 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 ce39ea09e8..b93fccf919 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
|
||
|
|