TileEntity tile = tileCache.getTileOnSide(side);
if (tile instanceof IFluidHandler) {
IFluidHandler nearbyTank = (IFluidHandler) tile;
if (PipeManager.canExtractFluids(this, worldObj, MiscTools.getXOnSide(xCoord, side), MiscTools.getYOnSide(yCoord, side), MiscTools.getZOnSide(zCoord, side))) {
side = side.getOpposite();
FluidStack drained = nearbyTank.drain(side, TRANSFER_RATE, false);
int used = tank.fill(drained, true);
nearbyTank.drain(side, used, true);
}
}
}