def METHOD_NAME(self, b_mat=None):
    """Export a Bethesda shader property block."""
    if b_mat.niftools_shader.bs_shadertype == 'None':
        raise io_scene_niftools.utils.logging.NifError(f"Export version expected shader. No shader applied to mesh '{b_mat}', these cannot be exported to NIF."
                                 f"Set shader before exporting.")
    self.texturehelper.determine_texture_types(b_mat)
    # create new block
    if b_mat.niftools_shader.bs_shadertype == 'BSShaderPPLightingProperty':
        bsshader = self.export_bs_shader_pp_lighting_property(b_mat)
    if b_mat.niftools_shader.bs_shadertype == 'BSLightingShaderProperty':
        bsshader = self.export_bs_lighting_shader_property(b_mat)
    if b_mat.niftools_shader.bs_shadertype == 'BSEffectShaderProperty':
        bsshader = self.export_bs_effect_shader_property(b_mat)
    return bsshader