From 051299e171be68ddcf5a6286ed39ddcd78012928 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Mon, 23 Mar 2020 23:11:10 +0100 Subject: [PATCH] Add option for only players to have collisions with Entities --- src/main/java/de/tr7zw/yapfa/YapfaConfig.java | 6 ++++++ src/main/java/net/minecraft/server/EntityLiving.java | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java index 9711cbc522..655c4e68f3 100644 --- a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java +++ b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java @@ -216,4 +216,10 @@ public class YapfaConfig { disableEntityCollisionboxes = getBoolean("settings.disableEntityCollisionboxes", false); } + public static boolean onlyPlayerCollisions = false; + private static void onlyPlayerCollisions() { + onlyPlayerCollisions = getBoolean("settings.onlyPlayerCollisions", false); + } + + } \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index 1c11480b88..9ff9e9be2b 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2702,8 +2702,15 @@ public abstract class EntityLiving extends Entity { if (i <= 0 && world.paperConfig.maxCollisionsPerEntity <= 0) { return; } - // Paper - end don't run getEntities if we're not going to use its result - List list = this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.a(this)); + // Tuinity - end don't run getEntities if we're not going to use its result + // YAPFA start + List list = null; + if(de.tr7zw.yapfa.YapfaConfig.onlyPlayerCollisions) { + list = this.world.getEntities(this, this.getBoundingBox(), entity -> entity.getEntityType() == EntityTypes.PLAYER); + } else { + list = this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.a(this)); + } + // YAPFA end if (!list.isEmpty()) { // Paper - move up -- 2.25.1.windows.1