geforkt von Mirrors/Paper
f243a4024d
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
46 Zeilen
2.0 KiB
Diff
46 Zeilen
2.0 KiB
Diff
From 03afa71b61d4b3348b036cec44f4b30e0331cf7a 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 9bf13b5..dff3424 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -1162,11 +1162,12 @@ 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;
|
|
@@ -1174,7 +1175,6 @@ 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 );
|
|
@@ -1221,6 +1221,8 @@ 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));
|
|
|
|
--
|
|
2.5.1
|
|
|