          }
  
          this.firstUpdate = false;
-@@ -1514,6 +1529,15 @@
+@@ -847,6 +862,8 @@
+                     par5 = var27;
+                     this.boundingBox.setBB(var29);
+                 }
++                /* Fixes a vanilla bug where the player view would dip when stepping between certain blocks
++                 * https://mojang.atlassian.net/browse/MC-1594
+                 else
+                 {
+                     double var40 = this.boundingBox.minY - (double)((int)this.boundingBox.minY);
+@@ -856,6 +873,7 @@
+                         this.ySize = (float)((double)this.ySize + var40 + 0.01D);
+                     }
+                 }
++                */
+             }
+ 
+             this.worldObj.theProfiler.endSection();
+@@ -1514,6 +1532,15 @@
              par1NBTTagCompound.setInteger("Dimension", this.dimension);
              par1NBTTagCompound.setBoolean("Invulnerable", this.field_83001_bt);
              par1NBTTagCompound.setInteger("PortalCooldown", this.timeUntilPortal);

         return var3;
     }
 
@@ -2021,7 +2060,7 @@
      */
     public boolean isRiding()
     {

             this.writeEntityToNBT(par1NBTTagCompound);
         }
         catch (Throwable var5)
@@ -1568,6 +1595,14 @@
             this.timeUntilPortal = par1NBTTagCompound.getInteger("PortalCooldown");
             this.setPosition(this.posX, this.posY, this.posZ);
             this.setRotation(this.rotationYaw, this.rotationPitch);
