user: Provide the full official documentation entry for MusgraveTexture(Texture), preserving all code examples.

assistant: # MusgraveTexture(Texture)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`ID`](bpy.types.ID.html#bpy.types.ID "bpy.types.ID"), [`Texture`](bpy.types.Texture.html#bpy.types.Texture "bpy.types.Texture")

*class* bpy.types.MusgraveTexture(*Texture*)
:   Procedural musgrave texture

    dimension_max
    :   Highest fractal dimension

        Type:
        :   float in [0.0001, 2], default 1.0

    gain
    :   The gain multiplier

        Type:
        :   float in [0, 6], default 1.0

    lacunarity
    :   Gap between successive frequencies

        Type:
        :   float in [0, 6], default 2.0

    musgrave_type
    :   Fractal noise algorithm

        - `MULTIFRACTAL`
          Multifractal – Use Perlin noise as a basis.
        - `RIDGED_MULTIFRACTAL`
          Ridged Multifractal – Use Perlin noise with inflection as a basis.
        - `HYBRID_MULTIFRACTAL`
          Hybrid Multifractal – Use Perlin noise as a basis, with extended controls.
        - `FBM`
          fBM – Fractal Brownian Motion, use Brownian noise as a basis.
        - `HETERO_TERRAIN`
          Hetero Terrain – Similar to multifractal.

        Type:
        :   enum in [`'MULTIFRACTAL'`, `'RIDGED_MULTIFRACTAL'`, `'HYBRID_MULTIFRACTAL'`, `'FBM'`, `'HETERO_TERRAIN'`], default `'MULTIFRACTAL'`

    nabla
    :   Size of derivative offset used for calculating normal

        Type:
        :   float in [0.001, 0.1], default 0.025

    noise_basis
    :   Noise basis used for turbulence

        - `BLENDER_ORIGINAL`
          Blender Original – Noise algorithm - Blender original: Smooth interpolated noise.
        - `ORIGINAL_PERLIN`
          Original Perlin – Noise algorithm - Original Perlin: Smooth interpolated noise.
        - `IMPROVED_PERLIN`
          Improved Perlin – Noise algorithm - Improved Perlin: Smooth interpolated noise.
        - `VORONOI_F1`
          Voronoi F1 – Noise algorithm - Voronoi F1: Returns distance to the closest feature point.
        - `VORONOI_F2`
          Voronoi F2 – Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point.
        - `VORONOI_F3`
          Voronoi F3 – Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point.
        - `VORONOI_F4`
          Voronoi F4 – Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point.
        - `VORONOI_F2_F1`
          Voronoi F2-F1 – Noise algorithm - Voronoi F1-F2.
        - `VORONOI_CRACKLE`
          Voronoi Crackle – Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges.
        - `CELL_NOISE`
          Cell Noise – Noise algorithm - Cell Noise: Square cell tessellation.

        Type:
        :   enum in [`'BLENDER_ORIGINAL'`, `'ORIGINAL_PERLIN'`, `'IMPROVED_PERLIN'`, `'VORONOI_F1'`, `'VORONOI_F2'`, `'VORONOI_F3'`, `'VORONOI_F4'`, `'VORONOI_F2_F1'`, `'VORONOI_CRACKLE'`, `'CELL_NOISE'`], default `'BLENDER_ORIGINAL'`

    noise_intensity
    :   Intensity of the noise

        Type:
        :   float in [0, 10], default 1.0

    noise_scale
    :   Scaling for noise input

        Type:
        :   float in [0.0001, inf], default 0.25

    octaves
    :   Number of frequencies used

        Type:
        :   float in [0, 8], default 2.0

    offset
    :   The fractal offset

        Type:
        :   float in [0, 6], default 1.0

    users_material
    :   Materials that use this texture

        Type:
        :   tuple of [`Material`](bpy.types.Material.html#bpy.types.Material "bpy.types.Material")

        (readonly)

    users_object_modifier
    :   Object modifiers that use this texture

        Type:
        :   tuple of [`Object`](bpy.types.Object.html#bpy.types.Object "bpy.types.Object")

        (readonly)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type