                  {
                      d2 = 1.0D - d1;
                      i = 5;
+@@ -415,7 +428,7 @@
+ 
+     private boolean func_175162_d(BlockPos p_175162_1_)
+     {
+-        return !this.field_70170_p.func_180495_p(p_175162_1_).func_177230_c().func_149721_r() && !this.field_70170_p.func_180495_p(p_175162_1_.func_177984_a()).func_177230_c().func_149721_r();
++        return !this.field_70170_p.func_180495_p(p_175162_1_).func_177230_c().func_149721_r();
+     }
+ 
+     public void func_70031_b(boolean p_70031_1_)
 @@ -448,6 +461,12 @@
  
      public void func_85030_a(String p_85030_1_, float p_85030_2_, float p_85030_3_)

             double d1 = p_145771_5_ - (double)blockpos.func_177952_p();
 
-            if (!this.func_175162_d(blockpos))
+            int entHeight = Math.max(Math.round(this.field_70131_O), 1);
+
+            boolean inTranslucentBlock = this.isHeadspaceFree(blockpos, entHeight);
+

+    {
+        for (int y = 0; y < height; y++)
+        {
+            if (!func_175162_d(pos.func_177982_a(0, y, 0))) return false;
+        }
+        return true;
+    }
