/**
   * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses
   * this to count ticks and creates a new spawn inside its implementation.
   */
  public void updateEntity() {
    List var1 = null;
    var1 =
        this.worldObj.getEntitiesWithinAABB(
            EntityDTDoggy.class,
            AxisAlignedBB.getBoundingBox(
                    (float) this.xCoord,
                    (double) (float) this.yCoord + 0.5D,
                    (float) this.zCoord,
                    (float) (this.xCoord + 1),
                    (double) (float) this.yCoord + 0.5D + 0.05000000074505806D,
                    (float) (this.zCoord + 1))
                .expand(5, 5, 5));

    if (var1 != null && var1.size() > 0) {
      for (int j1 = 0; j1 < var1.size(); j1++) {
        EntityDTDoggy entitydtdoggy1 = (EntityDTDoggy) var1.get(j1);

        if (entitydtdoggy1.getWolfTummy() <= 60 && this.GetFirstDogFoodStack(entitydtdoggy1) >= 0) {
          this.FeedDog(entitydtdoggy1, this.GetFirstDogFoodStack(entitydtdoggy1), 1);
        }
      }
    }
  }
  public ItemStack FeedDog(EntityDTDoggy entitydtdoggy, int i, int j) {
    if (GetStackInSlot(i) != null) {
      ItemStack itemstack = GetStackInSlot(i);
      entitydtdoggy.setWolfTummy(entitydtdoggy.getWolfTummy() + entitydtdoggy.foodValue(itemstack));

      if (GetStackInSlot(i).stackSize <= j) {
        ItemStack itemstack1 = GetStackInSlot(i);
        setInventorySlotContents(i, null);
        return itemstack1;
      }

      ItemStack itemstack2 = GetStackInSlot(i).splitStack(j);

      if (GetStackInSlot(i).stackSize == 0) {
        setInventorySlotContents(i, null);
      } else {
        onInventoryChanged();
      }

      return itemstack2;
    } else {
      return null;
    }
  }