public boolean updateHopper() {
    if (this.worldObj != null && !this.worldObj.isRemote) {
      if (!this.isCoolingDown()
          && BlockHopper.getIsBlockNotPoweredFromMetadata(this.getBlockMetadata())) {
        boolean flag = this.insertItemToInventory();
        flag = suckItemsIntoHopper(this) || flag;

        if (flag) {
          this.setTransferCooldown(8);
          this.onInventoryChanged();
          return true;
        }
      }

      return false;
    } else {
      return false;
    }
  }