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 bfb1de19f53d5d7c7b65e25a606fabfa416706b3..63262cc017b15b076f27143309b3e38c48289261 100644 --- a/src/main/java/io/papermc/paper/util/CollisionUtil.java +++ b/src/main/java/io/papermc/paper/util/CollisionUtil.java @@ -1777,6 +1777,7 @@ public final class CollisionUtil { public static boolean getEntityHardCollisions(final CollisionGetter getter, final Entity entity, AABB aabb, final List into, final int collisionFlags, final Predicate predicate) { + if (entity != null && entity.noEntityCollisions) return false; // Slice final boolean checkOnly = (collisionFlags & COLLISION_FLAG_CHECK_ONLY) != 0; if (!(getter instanceof EntityGetter entityGetter)) { 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 7960a2467cae9420f0da0eaad8dd428456362efe..383c40f6f7ea7cbf6f88347ccb559f4c458fcc40 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -452,6 +452,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<>()); {