Create Custom Block Inside Custom Module

Implement hook_block_info() and hook_block_view() in your custom module.

/** Implements of hook_block_info() **/
function mycustom_module_block_info() {
 
    $blocks['mycustom_module_blockname'] = array(
        'info' => t('Administration title of this block.'),
        'cache' => DRUPAL_NO_CACHE,
     );
    return $blocks;

}

/** Implements of hook_block_view() **/
function mycustom_module_block_view($delta = '') {
 
    $block = array();

    switch ($delta) {

        case 'mycustom_module_blockname':
             $block['subject'] = t('Title of this block.');
             $block['content'] =t('Content of this block.');
        break;
    }
    return $block;
}