@Override
  public void updateEntity() {
    super.updateEntity();

    if (!worldObj.isRemote) {
      for (int i = 0; i < 9; i++) {
        if (_inventory[i] != null
            && MFRRegistry.getPlantables().containsKey(_inventory[i].itemID)) {
          int targetSlot = findMatchingSlot(_inventory[i]);
          if (targetSlot < 0) {
            continue;
          }

          if (_inventory[targetSlot] == null) {
            _inventory[targetSlot] = _inventory[i];
            _inventory[i] = null;
          } else {
            UtilInventory.mergeStacks(_inventory[targetSlot], _inventory[i]);
            if (_inventory[i].stackSize <= 0) {
              _inventory[i] = null;
            }
          }
        }
      }

      if (Util.isRedstonePowered(this)) {
        return;
      }

      int newBurn = getOutputValue();
      if (_burnTimeMax - _burnTime >= newBurn) {
        _burnTime += newBurn;
        for (int i = 9; i < 18; i++) {
          if (_inventory[i] != null) {
            decrStackSize(i, 1);
          }
        }
      }

      if (_burnTime > 0
          && (_tank.getLiquid() == null
              || _tank.getLiquid().amount <= _tank.getCapacity() - _bioFuelPerTick)) {
        _burnTime -= _burnTimeDecreasePerTick;
        _tank.fill(LiquidDictionary.getLiquid("biofuel", _bioFuelPerTick), true);
      }
    }
  }