--- a/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java
+++ b/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java
@@ -41,7 +41,7 @@
     }
 
     @Override
-    public Path createPath(BlockPos target, int distance) {
+    public Path createPath(BlockPos target, @javax.annotation.Nullable Entity entity, int distance) { // Paper - EntityPathfindEvent
         LevelChunk levelChunk = this.level
             .getChunkSource()
             .getChunkNow(SectionPos.blockToSectionCoord(target.getX()), SectionPos.blockToSectionCoord(target.getZ()));
@@ -56,7 +56,7 @@
                 }
 
                 if (blockPos.getY() > this.level.getMinBuildHeight()) {
-                    return super.createPath(blockPos.above(), distance);
+                    return super.createPath(blockPos.above(), entity, distance); // Paper - EntityPathfindEvent
                 }
 
                 while (blockPos.getY() < this.level.getMaxBuildHeight() && levelChunk.getBlockState(blockPos).isAir()) {
@@ -67,7 +67,7 @@
             }
 
             if (!levelChunk.getBlockState(target).isSolid()) {
-                return super.createPath(target, distance);
+                return super.createPath(target, entity, distance); // Paper - EntityPathfindEvent
             } else {
                 BlockPos blockPos2 = target.above();
 
@@ -75,14 +75,14 @@
                     blockPos2 = blockPos2.above();
                 }
 
-                return super.createPath(blockPos2, distance);
+                return super.createPath(blockPos2, entity, distance); // Paper - EntityPathfindEvent
             }
         }
     }
 
     @Override
     public Path createPath(Entity entity, int distance) {
-        return this.createPath(entity.blockPosition(), distance);
+        return this.createPath(entity.blockPosition(), entity, distance); // Paper - EntityPathfindEvent
     }
 
     private int getSurfaceY() {
