8fa6448620
The previous version missed the entire point of the change and made it only skip collision on NON living entities... which is not often at all. It was meant to only Skip Living->Living, or else we won't get any gain...
38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
From e9079818151c8df92e2d927b0f4f3308d9cea113 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..bbbb008 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 EntityLiving && skip) { continue; } // Spigot
|
|
if (entity.M()) {
|
|
this.o(entity);
|
|
}
|
|
--
|
|
1.8.1.1
|
|
|