/** Called to update the entity's position/logic. */
  @Override
  public void onUpdate() {
    super.onUpdate();
    if (func_70922_bv()) {
      field_70926_e += (1.0F - field_70926_e) * 0.4F;
    } else {
      field_70926_e += (0.0F - field_70926_e) * 0.4F;
    }

    if (func_70922_bv()) {
      numTicksToChaseTarget = 10;
    }

    if (isWet()) {
      // can do special things if in water (or in rain)
    } else {
    }
  }
  /** Called to update the entity's position/logic. */
  public void onUpdate() {
    super.onUpdate();

    if (this.worldObj.isRemote && this.dataWatcher.hasObjectChanged()) {
      this.dataWatcher.func_111144_e();
      this.func_110230_cF();
    }

    if (this.openMouthCounter > 0 && ++this.openMouthCounter > 30) {
      this.openMouthCounter = 0;
      this.setHorseWatchableBoolean(128, false);
    }

    if (!this.worldObj.isRemote && this.jumpRearingCounter > 0 && ++this.jumpRearingCounter > 20) {
      this.jumpRearingCounter = 0;
      this.setRearing(false);
    }

    if (this.field_110278_bp > 0 && ++this.field_110278_bp > 8) {
      this.field_110278_bp = 0;
    }

    if (this.field_110279_bq > 0) {
      ++this.field_110279_bq;

      if (this.field_110279_bq > 300) {
        this.field_110279_bq = 0;
      }
    }

    this.prevHeadLean = this.headLean;

    if (this.isEatingHaystack()) {
      this.headLean += (1.0F - this.headLean) * 0.4F + 0.05F;

      if (this.headLean > 1.0F) {
        this.headLean = 1.0F;
      }
    } else {
      this.headLean += (0.0F - this.headLean) * 0.4F - 0.05F;

      if (this.headLean < 0.0F) {
        this.headLean = 0.0F;
      }
    }

    this.prevRearingAmount = this.rearingAmount;

    if (this.isRearing()) {
      this.prevHeadLean = this.headLean = 0.0F;
      this.rearingAmount += (1.0F - this.rearingAmount) * 0.4F + 0.05F;

      if (this.rearingAmount > 1.0F) {
        this.rearingAmount = 1.0F;
      }
    } else {
      this.field_110294_bI = false;
      this.rearingAmount +=
          (0.8F * this.rearingAmount * this.rearingAmount * this.rearingAmount - this.rearingAmount)
                  * 0.6F
              - 0.05F;

      if (this.rearingAmount < 0.0F) {
        this.rearingAmount = 0.0F;
      }
    }

    this.prevMouthOpenness = this.mouthOpenness;

    if (this.getHorseWatchableBoolean(128)) {
      this.mouthOpenness += (1.0F - this.mouthOpenness) * 0.7F + 0.05F;

      if (this.mouthOpenness > 1.0F) {
        this.mouthOpenness = 1.0F;
      }
    } else {
      this.mouthOpenness += (0.0F - this.mouthOpenness) * 0.7F - 0.05F;

      if (this.mouthOpenness < 0.0F) {
        this.mouthOpenness = 0.0F;
      }
    }
  }