diff options
Diffstat (limited to 'patches/server/0313-Optimise-EntityGetter-getPlayerByUUID.patch')
-rw-r--r-- | patches/server/0313-Optimise-EntityGetter-getPlayerByUUID.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/patches/server/0313-Optimise-EntityGetter-getPlayerByUUID.patch b/patches/server/0313-Optimise-EntityGetter-getPlayerByUUID.patch new file mode 100644 index 0000000000..631463b4c8 --- /dev/null +++ b/patches/server/0313-Optimise-EntityGetter-getPlayerByUUID.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Spottedleaf <[email protected]> +Date: Sat, 11 Jan 2020 21:50:56 -0800 +Subject: [PATCH] Optimise EntityGetter#getPlayerByUUID + +Use the PlayerList map instead of iterating over all players + +diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java +index 893846b2b216ef67652285a59ba3c67bb2b4c78d..9ce6c66213deaac1e57986de980176e58b222368 100644 +--- a/src/main/java/net/minecraft/server/level/ServerLevel.java ++++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +@@ -329,6 +329,15 @@ public class ServerLevel extends Level implements WorldGenLevel { + } + // Paper end + ++ // Paper start - optimise getPlayerByUUID ++ @Nullable ++ @Override ++ public Player getPlayerByUUID(UUID uuid) { ++ final Player player = this.getServer().getPlayerList().getPlayer(uuid); ++ return player != null && player.level() == this ? player : null; ++ } ++ // Paper end - optimise getPlayerByUUID ++ + // Add env and gen to constructor, IWorldDataServer -> WorldDataServer + public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { + // IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error |