/**
   * Looks for a sitting ocelot within certain bounds. Such an ocelot is considered to be blocking
   * access to the chest.
   */
  public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) {
    Iterator var4 =
        par0World
            .getEntitiesWithinAABB(
                EntityOcelot.class,
                AxisAlignedBB.getAABBPool()
                    .addOrModifyAABBInPool(
                        (double) par1,
                        (double) (par2 + 1),
                        (double) par3,
                        (double) (par1 + 1),
                        (double) (par2 + 2),
                        (double) (par3 + 1)))
            .iterator();
    EntityOcelot var6;

    do {
      if (!var4.hasNext()) {
        return false;
      }

      EntityOcelot var5 = (EntityOcelot) var4.next();
      var6 = (EntityOcelot) var5;
    } while (!var6.isSitting());

    return true;
  }
  /**
   * Used for easily adding entity-dependent animations. The second and third float params here are
   * the same second and third as in the setRotationAngles method.
   */
  public void setLivingAnimations(
      EntityLiving par1EntityLiving, float par2, float par3, float par4) {
    EntityOcelot var5 = (EntityOcelot) par1EntityLiving;
    this.ocelotBody.rotationPointY = 12.0F;
    this.ocelotBody.rotationPointZ = -10.0F;
    this.ocelotHead.rotationPointY = 15.0F;
    this.ocelotHead.rotationPointZ = -9.0F;
    this.ocelotTail.rotationPointY = 15.0F;
    this.ocelotTail.rotationPointZ = 8.0F;
    this.ocelotTail2.rotationPointY = 20.0F;
    this.ocelotTail2.rotationPointZ = 14.0F;
    this.ocelotFrontLeftLeg.rotationPointY = this.ocelotFrontRightLeg.rotationPointY = 13.8F;
    this.ocelotFrontLeftLeg.rotationPointZ = this.ocelotFrontRightLeg.rotationPointZ = -5.0F;
    this.ocelotBackLeftLeg.rotationPointY = this.ocelotBackRightLeg.rotationPointY = 18.0F;
    this.ocelotBackLeftLeg.rotationPointZ = this.ocelotBackRightLeg.rotationPointZ = 5.0F;
    this.ocelotTail.rotateAngleX = 0.9F;

    if (var5.isSneaking()) {
      ++this.ocelotBody.rotationPointY;
      this.ocelotHead.rotationPointY += 2.0F;
      ++this.ocelotTail.rotationPointY;
      this.ocelotTail2.rotationPointY += -4.0F;
      this.ocelotTail2.rotationPointZ += 2.0F;
      this.ocelotTail.rotateAngleX = ((float) Math.PI / 2F);
      this.ocelotTail2.rotateAngleX = ((float) Math.PI / 2F);
      this.field_78163_i = 0;
    } else if (var5.isSprinting()) {
      this.ocelotTail2.rotationPointY = this.ocelotTail.rotationPointY;
      this.ocelotTail2.rotationPointZ += 2.0F;
      this.ocelotTail.rotateAngleX = ((float) Math.PI / 2F);
      this.ocelotTail2.rotateAngleX = ((float) Math.PI / 2F);
      this.field_78163_i = 2;
    } else if (var5.isSitting()) {
      this.ocelotBody.rotateAngleX = ((float) Math.PI / 4F);
      this.ocelotBody.rotationPointY += -4.0F;
      this.ocelotBody.rotationPointZ += 5.0F;
      this.ocelotHead.rotationPointY += -3.3F;
      ++this.ocelotHead.rotationPointZ;
      this.ocelotTail.rotationPointY += 8.0F;
      this.ocelotTail.rotationPointZ += -2.0F;
      this.ocelotTail2.rotationPointY += 2.0F;
      this.ocelotTail2.rotationPointZ += -0.8F;
      this.ocelotTail.rotateAngleX = 1.7278761F;
      this.ocelotTail2.rotateAngleX = 2.670354F;
      this.ocelotFrontLeftLeg.rotateAngleX = this.ocelotFrontRightLeg.rotateAngleX = -0.15707964F;
      this.ocelotFrontLeftLeg.rotationPointY = this.ocelotFrontRightLeg.rotationPointY = 15.8F;
      this.ocelotFrontLeftLeg.rotationPointZ = this.ocelotFrontRightLeg.rotationPointZ = -7.0F;
      this.ocelotBackLeftLeg.rotateAngleX =
          this.ocelotBackRightLeg.rotateAngleX = -((float) Math.PI / 2F);
      this.ocelotBackLeftLeg.rotationPointY = this.ocelotBackRightLeg.rotationPointY = 21.0F;
      this.ocelotBackLeftLeg.rotationPointZ = this.ocelotBackRightLeg.rotationPointZ = 1.0F;
      this.field_78163_i = 3;
    } else {
      this.field_78163_i = 1;
    }
  }
  /**
   * Used for easily adding entity-dependent animations. The second and third float params here are
   * the same second and third as in the setRotationAngles method.
   */
  public void setLivingAnimations(
      EntityLiving par1EntityLiving, float par2, float par3, float par4) {
    EntityOcelot var5 = (EntityOcelot) par1EntityLiving;
    this.field_48226_n.rotationPointY = 12.0F;
    this.field_48226_n.rotationPointZ = -10.0F;
    this.field_48220_g.rotationPointY = 15.0F;
    this.field_48220_g.rotationPointZ = -9.0F;
    this.field_48222_e.rotationPointY = 15.0F;
    this.field_48222_e.rotationPointZ = 8.0F;
    this.field_48219_f.rotationPointY = 20.0F;
    this.field_48219_f.rotationPointZ = 14.0F;
    this.field_48224_c.rotationPointY = this.field_48221_d.rotationPointY = 13.8F;
    this.field_48224_c.rotationPointZ = this.field_48221_d.rotationPointZ = -5.0F;
    this.field_48225_a.rotationPointY = this.field_48223_b.rotationPointY = 18.0F;
    this.field_48225_a.rotationPointZ = this.field_48223_b.rotationPointZ = 5.0F;
    this.field_48222_e.rotateAngleX = 0.9F;

    if (var5.isSneaking()) {
      ++this.field_48226_n.rotationPointY;
      this.field_48220_g.rotationPointY += 2.0F;
      ++this.field_48222_e.rotationPointY;
      this.field_48219_f.rotationPointY += -4.0F;
      this.field_48219_f.rotationPointZ += 2.0F;
      this.field_48222_e.rotateAngleX = ((float) Math.PI / 2F);
      this.field_48219_f.rotateAngleX = ((float) Math.PI / 2F);
      this.field_48227_o = 0;
    } else if (var5.isSprinting()) {
      this.field_48219_f.rotationPointY = this.field_48222_e.rotationPointY;
      this.field_48219_f.rotationPointZ += 2.0F;
      this.field_48222_e.rotateAngleX = ((float) Math.PI / 2F);
      this.field_48219_f.rotateAngleX = ((float) Math.PI / 2F);
      this.field_48227_o = 2;
    } else if (var5.isSitting()) {
      this.field_48226_n.rotateAngleX = ((float) Math.PI / 4F);
      this.field_48226_n.rotationPointY += -4.0F;
      this.field_48226_n.rotationPointZ += 5.0F;
      this.field_48220_g.rotationPointY += -3.3F;
      ++this.field_48220_g.rotationPointZ;
      this.field_48222_e.rotationPointY += 8.0F;
      this.field_48222_e.rotationPointZ += -2.0F;
      this.field_48219_f.rotationPointY += 2.0F;
      this.field_48219_f.rotationPointZ += -0.8F;
      this.field_48222_e.rotateAngleX = 1.7278761F;
      this.field_48219_f.rotateAngleX = 2.670354F;
      this.field_48224_c.rotateAngleX = this.field_48221_d.rotateAngleX = -0.15707964F;
      this.field_48224_c.rotationPointY = this.field_48221_d.rotationPointY = 15.8F;
      this.field_48224_c.rotationPointZ = this.field_48221_d.rotationPointZ = -7.0F;
      this.field_48225_a.rotateAngleX = this.field_48223_b.rotateAngleX = -((float) Math.PI / 2F);
      this.field_48225_a.rotationPointY = this.field_48223_b.rotationPointY = 21.0F;
      this.field_48225_a.rotationPointZ = this.field_48223_b.rotationPointZ = 1.0F;
      this.field_48227_o = 3;
    } else {
      this.field_48227_o = 1;
    }
  }