--- a/net/minecraft/world/entity/EntityCreature.java
+++ b/net/minecraft/world/entity/EntityCreature.java
@@ -7,6 +7,10 @@
 import net.minecraft.world.level.World;
 import net.minecraft.world.phys.Vec3D;
 
+// CraftBukkit start
+import org.bukkit.event.entity.EntityUnleashEvent;
+// CraftBukkit end
+
 public abstract class EntityCreature extends EntityInsentient {
 
     protected static final float DEFAULT_WALK_TARGET_VALUE = 0.0F;
@@ -43,6 +47,7 @@
 
             if (this instanceof EntityTameableAnimal && ((EntityTameableAnimal) this).isInSittingPose()) {
                 if (f > 10.0F) {
+                    this.level().getCraftServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit
                     this.dropLeash(true, true);
                 }
 
@@ -51,6 +56,7 @@
 
             this.onLeashDistance(f);
             if (f > 10.0F) {
+                this.level().getCraftServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit
                 this.dropLeash(true, true);
                 this.goalSelector.disableControlFlag(PathfinderGoal.Type.MOVE);
             } else if (f > 6.0F) {
