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

                 {
                     d2 = 1.0D - d1;
                     i = 5;
@@ -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((int)Math.ceil(this.field_70131_O), 1);
+
+            boolean inTranslucentBlock = this.isHeadspaceFree(blockpos, entHeight);
+
