From d4985b594d55ee94ef5b68677eda3496d6cd8149 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 14 Apr 2016 17:48:56 -0500 Subject: [PATCH] Water mobs should only spawn in the water diff --git a/src/main/java/net/minecraft/server/EntityWaterAnimal.java b/src/main/java/net/minecraft/server/EntityWaterAnimal.java index f4764da..2aa0391 100644 --- a/src/main/java/net/minecraft/server/EntityWaterAnimal.java +++ b/src/main/java/net/minecraft/server/EntityWaterAnimal.java @@ -11,7 +11,15 @@ public abstract class EntityWaterAnimal extends EntityInsentient implements IAni } public boolean cF() { - return true; + // Paper start - Don't let water mobs spawn in non-water blocks + // Based around EntityAnimal's implementation + int i = MathHelper.floor(this.locX); + int j = MathHelper.floor(this.getBoundingBox().b); // minY of bounding box + int k = MathHelper.floor(this.locZ); + Block below = this.world.getType(new BlockPosition(i, j, k).down()).getBlock(); + + return below == Blocks.WATER || below == Blocks.FLOWING_WATER; + // Paper end } public boolean canSpawn() { -- 2.8.0