ce2eae5ce3
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: b56e8160 #519: Add ArrowBodyCountChangeEvent CraftBukkit Changes: 39806409e #697: Add ArrowBodyCountChangeEvent
30 lines
1.5 KiB
Diff
30 lines
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
|
Date: Wed, 15 Apr 2020 17:56:07 -0700
|
|
Subject: [PATCH] Don't run entity collision code if not needed
|
|
|
|
Will not run if max entity craming is disabled and
|
|
the max collisions per entity is less than or equal to 0
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
index 1227dfbc0599b59fab6216a60f120f895b1f6f8c..1e6295d33be71c482da4a53dad4c3aa5ffce5710 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
@@ -2831,10 +2831,16 @@ public abstract class EntityLiving extends Entity {
|
|
protected void doTick() {}
|
|
|
|
protected void collideNearby() {
|
|
+ // Paper - start don't run getEntities if we're not going to use its result
|
|
+ int i = this.world.getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING);
|
|
+ if (i <= 0 && world.paperConfig.maxCollisionsPerEntity <= 0) {
|
|
+ return;
|
|
+ }
|
|
+ // Paper - end don't run getEntities if we're not going to use its result
|
|
List<Entity> list = this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.a(this));
|
|
|
|
if (!list.isEmpty()) {
|
|
- int i = this.world.getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING);
|
|
+ // Paper - move up
|
|
int j;
|
|
|
|
if (i > 0 && list.size() > i - 1 && this.random.nextInt(4) == 0) {
|