From 9d7b1efc5289b5e8206c638f7cde4839815efad3 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 | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java index 9711cbc52..655c4e68f 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 4575498bb..dd92758a6 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2690,7 +2690,14 @@ public abstract class EntityLiving extends Entity { return; } // Tuinity - 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)); + // 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()) { // Tuinity - move up -- 2.25.1.windows.1