}
int harvestedBlockId = worldObj.getBlockId(targetCoords.x, targetCoords.y, targetCoords.z);
int harvestedBlockMetadata = worldObj.getBlockMetadata(targetCoords.x, targetCoords.y, targetCoords.z);
IFactoryHarvestable harvestable = MFRRegistry.getHarvestables().get(new Integer(harvestedBlockId));
List<ItemStack> drops = harvestable.getDrops(worldObj, _rand, ImmutableMap.copyOf(_settings), targetCoords.x, targetCoords.y, targetCoords.z);
harvestable.preHarvest(worldObj, targetCoords.x, targetCoords.y, targetCoords.z);
doDrop(drops);
if(harvestable.breakBlock())
{
if(MFRConfig.playSounds.getBoolean(true))
{
worldObj.playAuxSFXAtEntity(null, 2001, targetCoords.x, targetCoords.y, targetCoords.z, harvestedBlockId + (harvestedBlockMetadata << 12));
}
worldObj.setBlockToAir(targetCoords.x, targetCoords.y, targetCoords.z);
}
harvestable.postHarvest(worldObj, targetCoords.x, targetCoords.y, targetCoords.z);
_tank.fill(LiquidDictionary.getLiquid("sludge", 10), true);
return true;
}