Reduce number of collision checks for living entities.

This commit is contained in:
md_5 2013-01-22 10:04:57 +11:00
parent 205b31cfa2
commit 17af62c898
1 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,37 @@
From 2e2b7c86482c38d4c37f1df77509bca28655cb63 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 18 Jan 2013 19:31:14 -0500
Subject: [PATCH] Reduce number of LivingEntity collision checks.
---
src/main/java/net/minecraft/server/EntityLiving.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index b2481aa..e476393 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1402,12 +1402,20 @@ public abstract class EntityLiving extends Entity {
}
protected void bd() {
+ // Spigot start
+ boolean skip = false;
+ if (!(this instanceof EntityPlayer) && this.ticksLived % 2 != 0) {
+ skip = true;
+ }
+ // Spigot end
+
List list = this.world.getEntities(this, this.boundingBox.grow(0.20000000298023224D, 0.0D, 0.20000000298023224D));
if (list != null && !list.isEmpty()) {
for (int i = 0; i < list.size(); ++i) {
Entity entity = (Entity) list.get(i);
+ if (!(entity instanceof EntityMinecart) && skip) { continue; } // Spigot
if (entity.M()) {
this.o(entity);
}
--
1.8.1-rc2