From 241d8e26fbaf89aae7aa377273b62172c0402b1c Mon Sep 17 00:00:00 2001 From: Joseph Burton Date: Sun, 7 Apr 2024 00:50:43 +0100 Subject: Ignore minecart in activation range (#10359) --- ...re-entities-to-activation-range-ignore-list.patch | 20 ++++++++++++++++++++ patches/server/0036-Always-tick-falling-blocks.patch | 18 ------------------ .../0315-Fix-items-not-falling-correctly.patch | 4 ++-- .../server/0989-Entity-Activation-Range-2.0.patch | 16 ++++++++-------- 4 files changed, 30 insertions(+), 28 deletions(-) create mode 100644 patches/server/0036-Add-more-entities-to-activation-range-ignore-list.patch delete mode 100644 patches/server/0036-Always-tick-falling-blocks.patch diff --git a/patches/server/0036-Add-more-entities-to-activation-range-ignore-list.patch b/patches/server/0036-Add-more-entities-to-activation-range-ignore-list.patch new file mode 100644 index 0000000000..c402bdafa2 --- /dev/null +++ b/patches/server/0036-Add-more-entities-to-activation-range-ignore-list.patch @@ -0,0 +1,20 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Zach Brown +Date: Wed, 2 Mar 2016 00:32:25 -0600 +Subject: [PATCH] Add more entities to activation range ignore list + + +diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java +index a5da6c1cae0afbde684be250e2fc3c0c32a1265b..6d51464f6368151e8acc532414ee223714584e96 100644 +--- a/src/main/java/org/spigotmc/ActivationRange.java ++++ b/src/main/java/org/spigotmc/ActivationRange.java +@@ -92,6 +92,9 @@ public class ActivationRange + || entity instanceof AbstractHurtingProjectile + || entity instanceof LightningBolt + || entity instanceof PrimedTnt ++ || entity instanceof net.minecraft.world.entity.item.FallingBlockEntity // Paper - Always tick falling blocks ++ || entity instanceof net.minecraft.world.entity.vehicle.AbstractMinecart // Paper ++ || entity instanceof net.minecraft.world.entity.vehicle.Boat // Paper + || entity instanceof EndCrystal + || entity instanceof FireworkRocketEntity + || entity instanceof ThrownTrident ) diff --git a/patches/server/0036-Always-tick-falling-blocks.patch b/patches/server/0036-Always-tick-falling-blocks.patch deleted file mode 100644 index 24f946fa58..0000000000 --- a/patches/server/0036-Always-tick-falling-blocks.patch +++ /dev/null @@ -1,18 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Wed, 2 Mar 2016 00:32:25 -0600 -Subject: [PATCH] Always tick falling blocks - - -diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index a5da6c1cae0afbde684be250e2fc3c0c32a1265b..e5ff35531a933268f2b8b6c15c234de4482931d5 100644 ---- a/src/main/java/org/spigotmc/ActivationRange.java -+++ b/src/main/java/org/spigotmc/ActivationRange.java -@@ -92,6 +92,7 @@ public class ActivationRange - || entity instanceof AbstractHurtingProjectile - || entity instanceof LightningBolt - || entity instanceof PrimedTnt -+ || entity instanceof net.minecraft.world.entity.item.FallingBlockEntity // Paper - Always tick falling blocks - || entity instanceof EndCrystal - || entity instanceof FireworkRocketEntity - || entity instanceof ThrownTrident ) diff --git a/patches/server/0315-Fix-items-not-falling-correctly.patch b/patches/server/0315-Fix-items-not-falling-correctly.patch index 304ae24a45..785cf5a8ff 100644 --- a/patches/server/0315-Fix-items-not-falling-correctly.patch +++ b/patches/server/0315-Fix-items-not-falling-correctly.patch @@ -28,10 +28,10 @@ index bfbbb9382cf483a23acf35c17250f6f9223f7507..5994cb69575d365f435f5ef6da5fa61e float f1 = 0.98F; diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e5ff35531a933268f2b8b6c15c234de4482931d5..90df7e83d9166c22a56a31db22d843768229b9ab 100644 +index 6d51464f6368151e8acc532414ee223714584e96..9fb9fa62c32445ac3c3883a6433759c86dcfc428 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java -@@ -254,7 +254,7 @@ public class ActivationRange +@@ -256,7 +256,7 @@ public class ActivationRange isActive = true; } // Add a little performance juice to active entities. Skip 1/4 if not immune. diff --git a/patches/server/0989-Entity-Activation-Range-2.0.patch b/patches/server/0989-Entity-Activation-Range-2.0.patch index ecc9538fcb..c26295b371 100644 --- a/patches/server/0989-Entity-Activation-Range-2.0.patch +++ b/patches/server/0989-Entity-Activation-Range-2.0.patch @@ -111,7 +111,7 @@ index bd8c96e914b156284bdbb960f168e63e1f122920..abb4c32e8b35de332fa517523e8c598e } else { passenger.stopRiding(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3f620c4b8415f09a8d4664481b2d41d421ee836e..703b32362cf6a23dfe9326aa4e0ee74511e0d2cb 100644 +index 3f620c4b8415f09a8d4664481b2d41d421ee836e..132ab49c02b83c37e1a64fc19f9bdfc04f52f2ed 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -412,6 +412,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -137,7 +137,7 @@ index 3f620c4b8415f09a8d4664481b2d41d421ee836e..703b32362cf6a23dfe9326aa4e0ee745 this.setDeltaMovement(Vec3.ZERO); } + // Paper start - ignore movement changes while inactive. -+ if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { ++ if (isTemporarilyActive && !(this instanceof ItemEntity) && movement == getDeltaMovement() && movementType == MoverType.SELF) { + setDeltaMovement(Vec3.ZERO); + this.level.getProfiler().pop(); + return; @@ -371,7 +371,7 @@ index b1061db1d9b3bfde61d5016e10556c4320095827..c71690dbc3dc52803945f1608f0ee3ba } } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 90df7e83d9166c22a56a31db22d843768229b9ab..c39894e824334f1dc52e0466cf9d84f7e219be70 100644 +index 9fb9fa62c32445ac3c3883a6433759c86dcfc428..3283ed99c35ffed6805567705e0518d9f84feedc 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -1,33 +1,43 @@ @@ -499,7 +499,7 @@ index 90df7e83d9166c22a56a31db22d843768229b9ab..c39894e824334f1dc52e0466cf9d84f7 || entity instanceof Player || entity instanceof ThrowableProjectile || entity instanceof EnderDragon -@@ -116,10 +170,25 @@ public class ActivationRange +@@ -118,10 +172,25 @@ public class ActivationRange final int raiderActivationRange = world.spigotConfig.raiderActivationRange; final int animalActivationRange = world.spigotConfig.animalActivationRange; final int monsterActivationRange = world.spigotConfig.monsterActivationRange; @@ -525,7 +525,7 @@ index 90df7e83d9166c22a56a31db22d843768229b9ab..c39894e824334f1dc52e0466cf9d84f7 maxRange = Math.min( ( world.spigotConfig.simulationDistance << 4 ) - 8, maxRange ); for ( Player player : world.players() ) -@@ -130,13 +199,30 @@ public class ActivationRange +@@ -132,13 +201,30 @@ public class ActivationRange continue; } @@ -562,7 +562,7 @@ index 90df7e83d9166c22a56a31db22d843768229b9ab..c39894e824334f1dc52e0466cf9d84f7 } MinecraftTimings.entityActivationCheckTimer.stopTiming(); } -@@ -169,60 +255,118 @@ public class ActivationRange +@@ -171,60 +257,118 @@ public class ActivationRange * @param entity * @return */ @@ -698,7 +698,7 @@ index 90df7e83d9166c22a56a31db22d843768229b9ab..c39894e824334f1dc52e0466cf9d84f7 } /** -@@ -237,8 +381,19 @@ public class ActivationRange +@@ -239,8 +383,19 @@ public class ActivationRange if ( entity instanceof FireworkRocketEntity ) { return true; } @@ -719,7 +719,7 @@ index 90df7e83d9166c22a56a31db22d843768229b9ab..c39894e824334f1dc52e0466cf9d84f7 // Should this entity tick? if ( !isActive ) -@@ -246,15 +401,19 @@ public class ActivationRange +@@ -248,15 +403,19 @@ public class ActivationRange if ( ( MinecraftServer.currentTick - entity.activatedTick - 1 ) % 20 == 0 ) { // Check immunities every 20 ticks. -- cgit v1.2.3