public void moveEntityWithHeading(float f, float f1) {
   double d = posX;
   double d1 = posY;
   double d2 = posZ;
   if (capabilities.isFlying) {
     double d3 = motionY;
     float f2 = jumpMovementFactor;
     jumpMovementFactor = 0.05F;
     super.moveEntityWithHeading(f, f1);
     motionY = d3 * 0.59999999999999998D;
     jumpMovementFactor = f2;
   } else {
     super.moveEntityWithHeading(f, f1);
   }
   addMovementStat(posX - d, posY - d1, posZ - d2);
 }