Files
OldSliceMC/patches/server/0023-noEntityCollisions-for-Entity.patch
Cryptite acc0ce346d 1.20.2
2023-11-06 08:25:12 -06:00

31 lines
1.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cryptite <cryptite@gmail.com>
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<AABB> into, final int collisionFlags, final Predicate<Entity> 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 067bfc5414ad69916624aa635e475b6cac8517df..c2e0a83819a0ea553f1206d364a111c7c127bc18 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<Class<? extends Entity>, Boolean> cachedOverrides = java.util.Collections.synchronizedMap(new java.util.WeakHashMap<>());
{