PaperMC/Spigot-Server-Patches/Optimize-getCubes.patch
2015-08-04 15:25:37 -07:00

43 lines
No EOL
2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 14 Jul 2015 10:03:45 -0700
Subject: [PATCH] Optimize getCubes()
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
int cx = chunkx << 4;
for ( int chunkz = ( i1 >> 4 ); chunkz <= ( ( j1 - 1 ) >> 4 ); chunkz++ )
{
- if ( !this.isChunkLoaded( chunkx, chunkz, true ) )
+ Chunk chunk = this.getChunkIfLoaded( chunkx, chunkz );
+ if ( chunk == null )
{
// PaperSpigot start
if (entity.loadChunks) {
- ((ChunkProviderServer) entity.world.chunkProvider).getChunkAt(chunkx, chunkz);
+ chunk = ((ChunkProviderServer) entity.world.chunkProvider).getChunkAt(chunkx, chunkz);
} else {
entity.inUnloadedChunk = true; // PaperSpigot - Remove entities in unloaded chunks
continue;
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
// PaperSpigot end
}
int cz = chunkz << 4;
- Chunk chunk = this.getChunkAt( chunkx, chunkz );
// Compute ranges within chunk
int xstart = ( i < cx ) ? cx : i;
int xend = ( j < ( cx + 16 ) ) ? j : ( cx + 16 );
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
}
// Spigot end
+ if (entity instanceof EntityItem) return arraylist; // PaperSpigot - Optimize item movement
+
double d0 = 0.25D;
List list = this.getEntities(entity, axisalignedbb.grow(d0, d0, d0));
--