9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-20 23:39:32 +00:00
Files
SakuraMC/sakura-server/minecraft-patches/features/0014-Use-maxEntityCollision-limit-for-entity-retrieval.patch
Samsuik 6d4a50d7a7 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@922c85f Add GAMEMODE_SWITCHER gamemode change cause (#13097)
PaperMC/Paper@c101398 remove old configs
PaperMC/Paper@f57fd54 remove api scheduled for removal
PaperMC/Paper@79198b1 Expose ResolvableProfile for Skull blocks (#13095)
PaperMC/Paper@9df83bc Update DataConverter to 1.21.9-rc1
PaperMC/Paper@0b565e9 Update Gradle wrapper to 9.1.0
PaperMC/Paper@b61b3c9 Update paperweight to 2.0.0-beta.19
PaperMC/Paper@5b6165c Add spawnreason for building copper golems (#13112)
PaperMC/Paper@6950f05 Update to 1.21.9
PaperMC/Paper@dad730f [ci skip] Update README
PaperMC/Paper@27f926e Expose Copper Golem weathering state to API (#13089)
2025-10-01 12:19:40 +01:00

30 lines
1.7 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Samsuik <kfian294ma4@gmail.com>
Date: Thu, 23 Sep 2021 18:50:13 +0100
Subject: [PATCH] Use maxEntityCollision limit for entity retrieval
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 53053302b38e7a82c55234f4808f2629814d4e57..e04be1dc74b2fc76b98b9d364b1a212f20d5356a 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -3782,7 +3782,17 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
return;
}
// Paper end - don't run getEntities if we're not going to use its result
- List<Entity> pushableEntities = this.level().getPushableEntities(this, this.getBoundingBox());
+ // Sakura start - use maxEntityCollision limit for entity retrieval
+ //List<Entity> pushableEntities = this.level().getPushableEntities(this, this.getBoundingBox());
+ final int limit = Math.max(_int, this.level().paperConfig().collisions.maxEntityCollisions);
+ final int search = limit * limit;
+ final List<Entity> pushableEntities = new java.util.ArrayList<>(4);
+ this.level().getEntities(
+ net.minecraft.world.level.entity.EntityTypeTest.forClass(Entity.class),
+ this.getBoundingBox(), EntitySelector.pushableBy(this),
+ pushableEntities, limit, search
+ );
+ // Sakura end - use maxEntityCollision limit for entity retrieval
if (!pushableEntities.isEmpty()) {
if (this.level() instanceof ServerLevel serverLevel) {
// Paper - don't run getEntities if we're not going to use its result; moved up