protected void applyDrag() {
    double d0 = this.pushX * this.pushX + this.pushZ * this.pushZ;

    if (d0 > 1.0E-4D) {
      d0 = (double) MathHelper.sqrt_double(d0);
      this.pushX /= d0;
      this.pushZ /= d0;
      double d1 = 0.05D;
      this.motionX *= 0.800000011920929D;
      this.motionY *= 0.0D;
      this.motionZ *= 0.800000011920929D;
      this.motionX += this.pushX * d1;
      this.motionZ += this.pushZ * d1;
    } else {
      this.motionX *= 0.9800000190734863D;
      this.motionY *= 0.0D;
      this.motionZ *= 0.9800000190734863D;
    }

    super.applyDrag();
  }