From be54bf686dd2fbe6528d08306687f099f400e9e1 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 b439a2b..c3b86bb5 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 cG() { - 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 block = this.world.getType(new BlockPosition(i, j, k)).getBlock(); + + return block == Blocks.WATER || block == Blocks.FLOWING_WATER; + // Paper end } public boolean canSpawn() { -- 2.8.2