--- a/net/minecraft/world/entity/animal/AgeableWaterCreature.java
+++ b/net/minecraft/world/entity/animal/AgeableWaterCreature.java
@@ -68,6 +_,10 @@
     ) {
         int seaLevel = level.getSeaLevel();
         int i = seaLevel - 13;
+        // Paper start - Make water animal spawn height configurable
+        seaLevel = level.getMinecraftWorld().paperConfig().entities.spawning.wateranimalSpawnHeight.maximum.or(seaLevel);
+        i = level.getMinecraftWorld().paperConfig().entities.spawning.wateranimalSpawnHeight.minimum.or(i);
+        // Paper end - Make water animal spawn height configurable
         return pos.getY() >= i
             && pos.getY() <= seaLevel
             && level.getFluidState(pos.below()).is(FluidTags.WATER)
