Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 11:00:06 +01:00
Improved tile entity lookup for chunk sending
We already have direct access to the chunks tile entities, there is no reason to look them up again.
Dieser Commit ist enthalten in:
Ursprung
afba75b6cb
Commit
274a38539d
@ -0,0 +1,30 @@
|
||||
From 18c3488b099973cb0c3b6acefe23baecf4acf9bd Mon Sep 17 00:00:00 2001
|
||||
From: shakytom <tom.roberts00@gmail.com>
|
||||
Date: Wed, 20 Feb 2013 22:34:38 -0500
|
||||
Subject: [PATCH] Improved tile entity lookup for chunk sending
|
||||
|
||||
Instead of scanning the entire worlds tile entities to find out what tile entities are in the chunk... just use the arraylist of tile entities we already have.
|
||||
This results in a good reduction of time spent in player ticking.
|
||||
---
|
||||
src/main/java/net/minecraft/server/EntityPlayer.java | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 8d61ca6..28f462b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -163,8 +163,9 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
iterator1.remove();
|
||||
if (chunkcoordintpair != null && this.world.isLoaded(chunkcoordintpair.x << 4, 0, chunkcoordintpair.z << 4)) {
|
||||
- arraylist.add(this.world.getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z));
|
||||
- arraylist1.addAll(((WorldServer) this.world).getTileEntities(chunkcoordintpair.x * 16, 0, chunkcoordintpair.z * 16, chunkcoordintpair.x * 16 + 16, 256, chunkcoordintpair.z * 16 + 16));
|
||||
+ Chunk chunk = this.world.getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z); // Spigot
|
||||
+ arraylist.add(chunk); // Spigot
|
||||
+ arraylist1.addAll(chunk.tileEntities.values()); // Spigot
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.8.1.1
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren