From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Cryptite Date: Tue, 25 Apr 2023 08:21:03 -0500 Subject: [PATCH] noEntityCollisions for Entity diff --git a/src/main/java/io/papermc/paper/util/CollisionUtil.java b/src/main/java/io/papermc/paper/util/CollisionUtil.java index a87f6380b2c387fb0cdd40d5087b5c93492e3c88..cd35c2136a638c07fed683a2f92e70aa57bcfa8e 100644 --- a/src/main/java/io/papermc/paper/util/CollisionUtil.java +++ b/src/main/java/io/papermc/paper/util/CollisionUtil.java @@ -809,7 +809,7 @@ public final class CollisionUtil { public static boolean getEntityHardCollisions(final CollisionGetter getter, final Entity entity, AABB aabb, final List into, final boolean checkOnly, final Predicate predicate) { - if (isEmpty(aabb) || !(getter instanceof EntityGetter entityGetter)) { + if ((entity != null && entity.noEntityCollisions) || isEmpty(aabb) || !(getter instanceof EntityGetter entityGetter)) { // Slice return false; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java index a0f8740c93fe86d4c49b9e43f1044ef03d8e3de7..6d6baa82bb7a67c3f6de4bdb0987e4d1f68b6ec8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -453,6 +453,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { * Overriding this field will cause memory leaks. */ private final boolean hardCollides; + public boolean noEntityCollisions; // Slice private static final java.util.Map, Boolean> cachedOverrides = java.util.Collections.synchronizedMap(new java.util.WeakHashMap<>()); {