diff --git a/patches/server/0107-Flying-mobs-should-not-be-exempt-from-activation-ran.patch b/patches/server/0107-Flying-mobs-should-not-be-exempt-from-activation-ran.patch new file mode 100644 index 000000000..6be1ad1a4 --- /dev/null +++ b/patches/server/0107-Flying-mobs-should-not-be-exempt-from-activation-ran.patch @@ -0,0 +1,52 @@ +From 4da948be2ef7b419b46e21fb2ae3bafb0fe906db Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Sun, 8 Mar 2020 20:54:44 -0500 +Subject: [PATCH] Flying mobs should not be exempt from activation range + onGround check + +--- + src/main/java/org/spigotmc/ActivationRange.java | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java +index 11fb14612..b876ffaae 100644 +--- a/src/main/java/org/spigotmc/ActivationRange.java ++++ b/src/main/java/org/spigotmc/ActivationRange.java +@@ -9,6 +9,8 @@ import net.minecraft.server.Entity; + import net.minecraft.server.EntityAmbient; + import net.minecraft.server.EntityAnimal; + import net.minecraft.server.EntityArrow; ++import net.minecraft.server.EntityBird; // Purpur ++import net.minecraft.server.EntityBlaze; // Purpur + import net.minecraft.server.EntityComplexPart; + import net.minecraft.server.EntityCreature; + import net.minecraft.server.EntityCreeper; +@@ -17,6 +19,7 @@ import net.minecraft.server.EntityEnderDragon; + import net.minecraft.server.EntityFallingBlock; // Paper + import net.minecraft.server.EntityFireball; + import net.minecraft.server.EntityFireworks; ++import net.minecraft.server.EntityFlying; // Purpur + import net.minecraft.server.EntityHuman; + import net.minecraft.server.EntityLightning; + import net.minecraft.server.EntityLiving; +@@ -28,6 +31,7 @@ import net.minecraft.server.EntitySlice; + import net.minecraft.server.EntitySlime; + import net.minecraft.server.EntityTNTPrimed; + import net.minecraft.server.EntityThrownTrident; ++import net.minecraft.server.EntityVex; // Purpur + import net.minecraft.server.EntityVillager; + import net.minecraft.server.EntityWither; + import net.minecraft.server.MathHelper; +@@ -210,7 +214,8 @@ public class ActivationRange + } + if ( !( entity instanceof EntityArrow ) ) + { +- if ( !entity.onGround || !entity.passengers.isEmpty() || entity.isPassenger() ) ++ boolean flyingMob = entity instanceof EntityAmbient || entity instanceof EntityBird || entity instanceof EntityFlying || entity instanceof EntityBlaze || entity instanceof EntityVex; // Purpur ++ if ( (!entity.onGround && !flyingMob) || !entity.passengers.isEmpty() || entity.isPassenger() ) // Purpur + { + return true; + } +-- +2.24.0 +