@@ -1,4 +1,4 @@
|
||||
From 7ea326c5cf11a4802e87a958617034c2f48b9e0a Mon Sep 17 00:00:00 2001
|
||||
From 7e3f4169dfdf4b85dce2e1fa1e9a9e242cfbb030 Mon Sep 17 00:00:00 2001
|
||||
From: Ammar Askar <ammar@ammaraskar.com>
|
||||
Date: Tue, 16 Jul 2013 03:32:32 +0500
|
||||
Subject: [PATCH] Entity ticking chunk caching
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Entity ticking chunk caching
|
||||
Cache known loaded chunks so we avoid making a potentially expensive contains call for every single entity in exchange for some simple arithmetic. Best case scenario, this cuts down contains call to once per chunk, worst case it adds on some simple arithmetic operations
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 84ee535..06759cd 100644
|
||||
index e594b04..690f768 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1221,6 +1221,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1222,6 +1222,7 @@ public abstract class World implements IBlockAccess {
|
||||
CrashReport crashreport;
|
||||
CrashReportSystemDetails crashreportsystemdetails;
|
||||
|
||||
@@ -17,7 +17,7 @@ index 84ee535..06759cd 100644
|
||||
for (i = 0; i < this.i.size(); ++i) {
|
||||
entity = (Entity) this.i.get(i);
|
||||
// CraftBukkit start - Fixed an NPE, don't process entities in chunks queued for unload
|
||||
@@ -1229,10 +1230,15 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1230,10 +1231,15 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
|
||||
ChunkProviderServer chunkProviderServer = ((WorldServer) this).chunkProviderServer;
|
||||
@@ -35,7 +35,7 @@ index 84ee535..06759cd 100644
|
||||
|
||||
try {
|
||||
++entity.ticksLived;
|
||||
@@ -1253,6 +1259,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1254,6 +1260,7 @@ public abstract class World implements IBlockAccess {
|
||||
this.i.remove(i--);
|
||||
}
|
||||
}
|
||||
@@ -43,7 +43,7 @@ index 84ee535..06759cd 100644
|
||||
|
||||
this.methodProfiler.c("remove");
|
||||
this.entityList.removeAll(this.f);
|
||||
@@ -1283,10 +1290,15 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1284,10 +1291,15 @@ public abstract class World implements IBlockAccess {
|
||||
|
||||
// CraftBukkit start - Don't tick entities in chunks queued for unload
|
||||
ChunkProviderServer chunkProviderServer = ((WorldServer) this).chunkProviderServer;
|
||||
@@ -62,5 +62,5 @@ index 84ee535..06759cd 100644
|
||||
if (entity.vehicle != null) {
|
||||
if (!entity.vehicle.dead && entity.vehicle.passenger == entity) {
|
||||
--
|
||||
1.8.1.2
|
||||
1.8.3.2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user