#    This file contains a list of all available settings and their default value for minetest.conf

#    By default, all the settings are commented and not functional.
#    Uncomment settings by removing the preceding #.

#    minetest.conf is read by default from:
#    ../minetest.conf
#    ../../minetest.conf
#    Any other path can be chosen by passing the path as a parameter
#    to the program, eg. "minetest.exe --config ../minetest.conf.example".

#    Further documentation:
#    http://wiki.minetest.net/

#
# Controls
#

#    If enabled, you can place blocks at the position (feet + eye level) where you stand.
#    This is helpful when working with nodeboxes in small areas.
#    type: bool
# enable_build_where_you_stand = false

#    Player is able to fly without being affected by gravity.
#    This requires the "fly" privilege on the server.
#    type: bool
# free_move = false

#    Fast movement (via the "special" key).
#    This requires the "fast" privilege on the server.
#    type: bool
# fast_move = false

#    If enabled together with fly mode, player is able to fly through solid nodes.
#    This requires the "noclip" privilege on the server.
#    type: bool
# noclip = false

#    Smooths camera when looking around. Also called look or mouse smoothing.
#    Useful for recording videos.
#    type: bool
# cinematic = false

#    Smooths rotation of camera. 0 to disable.
#    type: float min: 0 max: 0.99
# camera_smoothing = 0.0

#    Smooths rotation of camera in cinematic mode. 0 to disable.
#    type: float min: 0 max: 0.99
# cinematic_camera_smoothing = 0.7

#    Invert vertical mouse movement.
#    type: bool
# invert_mouse = false

#    Mouse sensitivity multiplier.
#    type: float
# mouse_sensitivity = 0.2

#    If enabled, "special" key instead of "sneak" key is used for climbing down and descending.
#    type: bool
# aux1_descends = false

#    Double-tapping the jump key toggles fly mode.
#    type: bool
# doubletap_jump = false

#    If disabled, "special" key is used to fly fast if both fly and fast mode are enabled.
#    type: bool
# always_fly_fast = true

#    The time in seconds it takes between repeated right clicks when holding the right mouse button.
#    type: float
# repeat_rightclick_time = 0.25

#    Prevent digging and placing from repeating when holding the mouse buttons.
#    Enable this when you dig or place too often by accident.
#    type: bool
# safe_dig_and_place = false

#    Enable random user input (only used for testing).
#    type: bool
# random_input = false

#    Continuous forward movement, toggled by autoforward key.
#    type: bool
# continuous_forward = false

#    The length in pixels it takes for touch screen interaction to start.
#    type: int
# touchscreen_threshold = 20

#    (Android) Fixes the position of virtual joystick.
#    If disabled, virtual joystick will center to first-touch's position.
#    type: int
# fixed_virtual_joystick = false

#    Enable Joysticks
#    type: bool
# enable_joysticks = false

#    The identifier of the joystick to use
#    type: int
# joystick_id = 0

#    The type of joystick
#    type: enum values: auto, generic, xbox
# joystick_type = auto

#    The time in seconds it takes between repeated events
#    when holding down a joystick button combination.
#    type: float
# repeat_joystick_button_time = 0.17

#    The sensitivity of the joystick axes for moving the
#    ingame view frustum around.
#    type: float
# joystick_frustum_sensitivity = 170

#    Key for moving the player forward.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_forward = KEY_KEY_W

#    Key for moving the player backward.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_backward = KEY_KEY_S

#    Key for moving the player left.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_left = KEY_KEY_A

#    Key for moving the player right.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_right = KEY_KEY_D

#    Key for jumping.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_jump = KEY_SPACE

#    Key for sneaking.
#    Also used for climbing down and descending in water if aux1_descends is disabled.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_sneak = KEY_LSHIFT

#    Key for opening the inventory.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_inventory = KEY_KEY_I

#    Key for moving fast in fast mode.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_special1 = KEY_KEY_E

#    Key for opening the chat window.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_chat = KEY_KEY_T

#    Key for opening the chat window to type commands.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_cmd = /

#    Key for opening the chat window to type local commands.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_cmd_local = .

#    Key for toggling unlimited view range.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_rangeselect = KEY_KEY_R

#    Key for toggling flying.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_freemove = KEY_KEY_K

#    Key for toggling fast mode.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_fastmove = KEY_KEY_J

#    Key for toggling noclip mode.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_noclip = KEY_KEY_H

#    Key for selecting the next item in the hotbar.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_hotbar_next = KEY_KEY_N

#    Key for selecting the previous item in the hotbar.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_hotbar_previous = KEY_KEY_B

#    Key for muting the game.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_mute = KEY_KEY_M

#    Key for increasing the volume.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_increase_volume =

#    Key for decreasing the volume.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_decrease_volume =

#    Key for toggling autoforward.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_autoforward =

#    Key for toggling cinematic mode.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_cinematic =

#    Key for toggling display of minimap.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_minimap = KEY_F9

#    Key for taking screenshots.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_screenshot = KEY_F12

#    Key for dropping the currently selected item.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_drop = KEY_KEY_Q

#    Key to use view zoom when possible.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_zoom = KEY_KEY_Z

#    Key for selecting the first hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot1 = KEY_KEY_1

#    Key for selecting the second hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot2 = KEY_KEY_2

#    Key for selecting the third hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot3 = KEY_KEY_3

#    Key for selecting the fourth hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot4 = KEY_KEY_4

#    Key for selecting the fifth hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot5 = KEY_KEY_5

#    Key for selecting the sixth hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot6 = KEY_KEY_6

#    Key for selecting the seventh hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot7 = KEY_KEY_7

#    Key for selecting the eighth hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot8 = KEY_KEY_8

#    Key for selecting the ninth hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot9 = KEY_KEY_9

#    Key for selecting the tenth hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot10 = KEY_KEY_0

#    Key for selecting the 11th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot11 =

#    Key for selecting the 12th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot12 =

#    Key for selecting the 13th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot13 =

#    Key for selecting the 14th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot14 =

#    Key for selecting the 15th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot15 =

#    Key for selecting the 16th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot16 =

#    Key for selecting the 17th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot17 =

#    Key for selecting the 18th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot18 =

#    Key for selecting the 19th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot19 =

#    Key for selecting the 20th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot20 =

#    Key for selecting the 21th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot21 =

#    Key for selecting the 22th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot22 =

#    Key for selecting the 23th hotbar slot.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_slot23 =

#    Key for toggling the display of the HUD.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_toggle_hud = KEY_F1

#    Key for toggling the display of the chat.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_toggle_chat = KEY_F2

#    Key for toggling the display of the large chat console.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_console = KEY_F10

#    Key for toggling the display of the fog.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_toggle_force_fog_off = KEY_F3

#    Key for toggling the camera update. Only used for development
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_toggle_update_camera =

#    Key for toggling the display of debug info.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_toggle_debug = KEY_F5

#    Key for toggling the display of the profiler. Used for development.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_toggle_profiler = KEY_F6

#    Key for switching between first- and third-person camera.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_camera_mode = KEY_F7

#    Key for increasing the viewing range.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_increase_viewing_range_min = +

#    Key for decreasing the viewing range.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#    type: key
# keymap_decrease_viewing_range_min = -

#
# Graphics
#

## In-Game

### Basic

#    Enable VBO
#    type: bool
# enable_vbo = true

#    Whether to fog out the end of the visible area.
#    type: bool
# enable_fog = true

#    Leaves style:
#    -   Fancy:  all faces visible
#    -   Simple: only outer faces, if defined special_tiles are used
#    -   Opaque: disable transparency
#    type: enum values: fancy, simple, opaque
# leaves_style = fancy

#    Connects glass if supported by node.
#    type: bool
# connected_glass = false

#    Enable smooth lighting with simple ambient occlusion.
#    Disable for speed or for different looks.
#    type: bool
# smooth_lighting = true

#    Clouds are a client side effect.
#    type: bool
# enable_clouds = true

#    Use 3D cloud look instead of flat.
#    type: bool
# enable_3d_clouds = true

#    Method used to highlight selected object.
#    type: enum values: box, halo, none
# node_highlighting = box

#    Adds particles when digging a node.
#    type: bool
# enable_particles = true

### Filtering

#    Use mip mapping to scale textures. May slightly increase performance.
#    type: bool
# mip_map = false

#    Use anisotropic filtering when viewing at textures from an angle.
#    type: bool
# anisotropic_filter = false

#    Use bilinear filtering when scaling textures.
#    type: bool
# bilinear_filter = false

#    Use trilinear filtering when scaling textures.
#    type: bool
# trilinear_filter = false

#    Filtered textures can blend RGB values with fully-transparent neighbors,
#    which PNG optimizers usually discard, sometimes resulting in a dark or
#    light edge to transparent textures.  Apply this filter to clean that up
#    at texture load time.
#    type: bool
# texture_clean_transparent = false

#    When using bilinear/trilinear/anisotropic filters, low-resolution textures
#    can be blurred, so automatically upscale them with nearest-neighbor
#    interpolation to preserve crisp pixels.  This sets the minimum texture size
#    for the upscaled textures; higher values look sharper, but require more
#    memory.  Powers of 2 are recommended.  Setting this higher than 1 may not
#    have a visible effect unless bilinear/trilinear/anisotropic filtering is
#    enabled.
#    This is also used as the base node texture size for world-aligned
#    texture autoscaling.
#    type: int
# texture_min_size = 64

#    Experimental option, might cause visible spaces between blocks
#    when set to higher number than 0.
#    type: enum values: 0, 1, 2, 4, 8, 16
# fsaa = 0

#    Undersampling is similar to using lower screen resolution, but it applies
#    to the game world only, keeping the GUI intact.
#    It should give significant performance boost at the cost of less detailed image.
#    type: enum values: 0, 2, 3, 4
# undersampling = 0

### Shaders

#    Shaders allow advanced visual effects and may increase performance on some video cards.
#    This only works with the OpenGL video backend.
#    type: bool
# enable_shaders = true

#    Path to shader directory. If no path is defined, default location will be used.
#    type: path
# shader_path =

#### Tone Mapping

#    Enables filmic tone mapping
#    type: bool
# tone_mapping = false

#### Bumpmapping

#    Enables bumpmapping for textures. Normalmaps need to be supplied by the texture pack
#    or need to be auto-generated.
#    Requires shaders to be enabled.
#    type: bool
# enable_bumpmapping = false

#    Enables on the fly normalmap generation (Emboss effect).
#    Requires bumpmapping to be enabled.
#    type: bool
# generate_normalmaps = false

#    Strength of generated normalmaps.
#    type: float
# normalmaps_strength = 0.6

#    Defines sampling step of texture.
#    A higher value results in smoother normal maps.
#    type: int min: 0 max: 2
# normalmaps_smooth = 0

#### Parallax Occlusion

#    Enables parallax occlusion mapping.
#    Requires shaders to be enabled.
#    type: bool
# enable_parallax_occlusion = false

#    0 = parallax occlusion with slope information (faster).
#    1 = relief mapping (slower, more accurate).
#    type: int min: 0 max: 1
# parallax_occlusion_mode = 1

#    Strength of parallax.
#    type: float
# 3d_paralax_strength = 0.025

#    Number of parallax occlusion iterations.
#    type: int
# parallax_occlusion_iterations = 4

#    Overall scale of parallax occlusion effect.
#    type: float
# parallax_occlusion_scale = 0.08

#    Overall bias of parallax occlusion effect, usually scale/2.
#    type: float
# parallax_occlusion_bias = 0.04

#### Waving Nodes

#    Set to true enables waving water.
#    Requires shaders to be enabled.
#    type: bool
# enable_waving_water = false

#    type: float
# water_wave_height = 1.0

#    type: float
# water_wave_length = 20.0

#    type: float
# water_wave_speed = 5.0

#    Set to true enables waving leaves.
#    Requires shaders to be enabled.
#    type: bool
# enable_waving_leaves = false

#    Set to true enables waving plants.
#    Requires shaders to be enabled.
#    type: bool
# enable_waving_plants = false

### Advanced

#    Arm inertia, gives a more realistic movement of
#    the arm when the camera moves.
#    type: bool
# arm_inertia = true

#    If FPS would go higher than this, limit it by sleeping
#    to not waste CPU power for no benefit.
#    type: int
# fps_max = 60

#    Maximum FPS when game is paused.
#    type: int
# pause_fps_max = 20

#    View distance in nodes.
#    type: int min: 20 max: 4000
# viewing_range = 100

#    Camera near plane distance in nodes, between 0 and 0.5
#    Most users will not need to change this.
#    Increasing can reduce artifacting on weaker GPUs.
#    0.1 = Default, 0.25 = Good value for weaker tablets.
#    type: float min: 0 max: 0.5
# near_plane = 0.1

#    Width component of the initial window size.
#    type: int
# screen_w = 1024

#    Height component of the initial window size.
#    type: int
# screen_h = 600

#    Save window size automatically when modified.
#    type: bool
# autosave_screensize = true

#    Fullscreen mode.
#    type: bool
# fullscreen = false

#    Bits per pixel (aka color depth) in fullscreen mode.
#    type: int
# fullscreen_bpp = 24

#    Vertical screen synchronization.
#    type: bool
# vsync = false

#    Field of view in degrees.
#    type: int min: 30 max: 160
# fov = 72

#    Field of view while zooming in degrees.
#    Requires to be allowed by server-sided mods.
#    type: int min: 7 max: 160
# zoom_fov = 15

#    Adjust the gamma encoding for the light tables. Higher numbers are brighter.
#    This setting is for the client only and is ignored by the server.
#    type: float min: 0.5 max: 3
# display_gamma = 1.0

#    type: float min: 0 max: 4
# lighting_alpha = 0.0

#    type: float min: 0 max: 4
# lighting_beta = 0.0

#    Path to texture directory. All textures are first searched from here.
#    type: path
# texture_path =

#    The rendering back-end for Irrlicht.
#    type: enum values: null, software, burningsvideo, direct3d8, direct3d9, opengl
# video_driver = opengl

#    Radius of cloud area stated in number of 64 node cloud squares.
#    Values larger than 26 will start to produce sharp cutoffs at cloud area corners.
#    type: int
# cloud_radius = 12

#    Enable view bobbing and amount of view bobbing.
#    For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
#    type: float
# view_bobbing_amount = 1.0

#    Multiplier for fall bobbing.
#    For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
#    type: float
# fall_bobbing_amount = 0.0

#    3D support.
#    Currently supported:
#    -    none: no 3d output.
#    -    anaglyph: cyan/magenta color 3d.
#    -    interlaced: odd/even line based polarisation screen support.
#    -    topbottom: split screen top/bottom.
#    -    sidebyside: split screen side by side.
#    -    pageflip: quadbuffer based 3d.
#    Note that the interlaced mode requires shaders to be enabled.
#    type: enum values: none, anaglyph, interlaced, topbottom, sidebyside, pageflip
# 3d_mode = none

#    In-game chat console height, between 0.1 (10%) and 1.0 (100%).
#    type: float min: 0.1 max: 1
# console_height = 0.6

#    In-game chat console background color (R,G,B).
#    type: string
# console_color = (0,0,0)

#    In-game chat console background alpha (opaqueness, between 0 and 255).
#    type: int min: 0 max: 255
# console_alpha = 200

#    Formspec full-screen background opacity (between 0 and 255).
#    type: int min: 0 max: 255
# formspec_fullscreen_bg_opacity = 140

#    Formspec full-screen background color (R,G,B).
#    type: string
# formspec_fullscreen_bg_color = (0,0,0)

#    Formspec default background opacity (between 0 and 255).
#    type: int min: 0 max: 255
# formspec_default_bg_opacity = 140

#    Formspec default background color (R,G,B).
#    type: string
# formspec_default_bg_color = (0,0,0)

#    Selection box border color (R,G,B).
#    type: string
# selectionbox_color = (0,0,0)

#    Width of the selectionbox's lines around nodes.
#    type: int min: 1 max: 5
# selectionbox_width = 2

#    Crosshair color (R,G,B).
#    type: string
# crosshair_color = (255,255,255)

#    Crosshair alpha (opaqueness, between 0 and 255).
#    type: int min: 0 max: 255
# crosshair_alpha = 255

#    Maximum number of recent chat messages to show
#    type: int min: 2 max: 20
# recent_chat_messages = 6

#    Whether node texture animations should be desynchronized per mapblock.
#    type: bool
# desynchronize_mapblock_texture_animation = true

#    Maximum proportion of current window to be used for hotbar.
#    Useful if there's something to be displayed right or left of hotbar.
#    type: float
# hud_hotbar_max_width = 1.0

#    Modifies the size of the hudbar elements.
#    type: float
# hud_scaling = 1.0

#    Enables caching of facedir rotated meshes.
#    type: bool
# enable_mesh_cache = false

#    Delay between mesh updates on the client in ms. Increasing this will slow
#    down the rate of mesh updates, thus reducing jitter on slower clients.
#    type: int min: 0 max: 50
# mesh_generation_interval = 0

#    Size of the MapBlock cache of the mesh generator. Increasing this will
#    increase the cache hit %, reducing the data being copied from the main
#    thread, thus reducing jitter.
#    type: int min: 0 max: 1000
# meshgen_block_cache_size = 20

#    Enables minimap.
#    type: bool
# enable_minimap = true

#    Shape of the minimap. Enabled = round, disabled = square.
#    type: bool
# minimap_shape_round = true

#    True = 256
#    False = 128
#    Useable to make minimap smoother on slower machines.
#    type: bool
# minimap_double_scan_height = true

#    Make fog and sky colors depend on daytime (dawn/sunset) and view direction.
#    type: bool
# directional_colored_fog = true

#    The strength (darkness) of node ambient-occlusion shading.
#    Lower is darker, Higher is lighter. The valid range of values for this
#    setting is 0.25 to 4.0 inclusive. If the value is out of range it will be
#    set to the nearest valid value.
#    type: float min: 0.25 max: 4
# ambient_occlusion_gamma = 2.2

#    Enables animation of inventory items.
#    type: bool
# inventory_items_animations = false

#    Android systems only: Tries to create inventory textures from meshes
#    when no supported render was found.
#    type: bool
# inventory_image_hack = false

#    Fraction of the visible distance at which fog starts to be rendered
#    type: float min: 0 max: 0.99
# fog_start = 0.4

#    Makes all liquids opaque
#    type: bool
# opaque_water = false

#    Textures on a node may be aligned either to the node or to the world.
#    The former mode suits better things like machines, furniture, etc., while
#    the latter makes stairs and microblocks fit surroundings better.
#    However, as this possibility is new, thus may not be used by older servers,
#    this option allows enforcing it for certain node types. Note though that
#    that is considered EXPERIMENTAL and may not work properly.
#    type: enum values: disable, enable, force_solid, force_nodebox
# world_aligned_mode = enable

#    World-aligned textures may be scaled to span several nodes. However,
#    the server may not send the scale you want, especially if you use
#    a specially-designed texture pack; with this option, the client tries
#    to determine the scale automatically basing on the texture size.
#    See also texture_min_size.
#    Warning: this option is EXPERIMENTAL!
#    type: enum values: disable, enable, force
# autoscale_mode = disable

#    Show entity selection boxes
#    type: bool
# show_entity_selectionbox = true

## Menus

#    Use a cloud animation for the main menu background.
#    type: bool
# menu_clouds = true

#    Scale gui by a user specified value.
#    Use a nearest-neighbor-anti-alias filter to scale the GUI.
#    This will smooth over some of the rough edges, and blend
#    pixels when scaling down, at the cost of blurring some
#    edge pixels when images are scaled by non-integer sizes.
#    type: float
# gui_scaling = 1.0

#    When gui_scaling_filter is true, all GUI images need to be
#    filtered in software, but some images are generated directly
#    to hardware (e.g. render-to-texture for nodes in inventory).
#    type: bool
# gui_scaling_filter = false

#    When gui_scaling_filter_txr2img is true, copy those images
#    from hardware to software for scaling.  When false, fall back
#    to the old scaling method, for video drivers that don't
#    properly support downloading textures back from hardware.
#    type: bool
# gui_scaling_filter_txr2img = true

#    Delay showing tooltips, stated in milliseconds.
#    type: int
# tooltip_show_delay = 400

#    Append item name to tooltip.
#    type: bool
# tooltip_append_itemname = false

#    Whether freetype fonts are used, requires freetype support to be compiled in.
#    type: bool
# freetype = true

#    Path to TrueTypeFont or bitmap.
#    type: filepath
# font_path = fonts/liberationsans.ttf

#    type: int
# font_size = 16

#    Font shadow offset, if 0 then shadow will not be drawn.
#    type: int
# font_shadow = 1

#    Font shadow alpha (opaqueness, between 0 and 255).
#    type: int min: 0 max: 255
# font_shadow_alpha = 127

#    type: filepath
# mono_font_path = fonts/liberationmono.ttf

#    type: int
# mono_font_size = 15

#    This font will be used for certain languages.
#    type: filepath
# fallback_font_path = fonts/DroidSansFallbackFull.ttf

#    type: int
# fallback_font_size = 15

#    type: int
# fallback_font_shadow = 1

#    type: int min: 0 max: 255
# fallback_font_shadow_alpha = 128

#    Path to save screenshots at.
#    type: path
# screenshot_path =

#    Format of screenshots.
#    type: enum values: png, jpg, bmp, pcx, ppm, tga
# screenshot_format = png

#    Screenshot quality. Only used for JPEG format.
#    1 means worst quality; 100 means best quality.
#    Use 0 for default quality.
#    type: int min: 0 max: 100
# screenshot_quality = 0

## Advanced

#    Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens.
#    type: int
# screen_dpi = 72

#    Windows systems only: Start Minetest with the command line window in the background.
#    Contains the same information as the file debug.txt (default name).
#    type: bool
# enable_console = false

#
# Sound
#

#    type: bool
# enable_sound = true

#    type: float min: 0 max: 1
# sound_volume = 0.7

#    type: bool
# mute_sound = false

#
# Client
#

## Network

#    Address to connect to.
#    Leave this blank to start a local server.
#    Note that the address field in the main menu overrides this setting.
#    type: string
# address =

#    Port to connect to (UDP).
#    Note that the port field in the main menu overrides this setting.
#    type: int min: 1 max: 65535
# remote_port = 30000

#    Save the map received by the client on disk.
#    type: bool
# enable_local_map_saving = false

#    Enable usage of remote media server (if provided by server).
#    Remote servers offer a significantly faster way to download media (e.g. textures)
#    when connecting to the server.
#    type: bool
# enable_remote_media_server = true

#    Enable Lua modding support on client.
#    This support is experimental and API can change.
#    type: bool
# enable_client_modding = false

#    URL to the server list displayed in the Multiplayer Tab.
#    type: string
# serverlist_url = servers.minetest.net

#    File in client/serverlist/ that contains your favorite servers displayed in the Multiplayer Tab.
#    type: string
# serverlist_file = favoriteservers.txt

#    Maximum size of the out chat queue. 0 to disable queueing and -1 to make the queue size unlimited
#    type: int
# max_out_chat_queue_size = 20

#    Open the pause menu when the window's focus is lost. Does not pause if a formspec is open.
#    type: bool
# pause_on_lost_focus = false

## Advanced

#    Timeout for client to remove unused map data from memory.
#    type: int
# client_unload_unused_data_timeout = 600

#    Maximum number of mapblocks for client to be kept in memory.
#    Set to -1 for unlimited amount.
#    type: int
# client_mapblock_limit = 5000

#    Whether to show the client debug info (has the same effect as hitting F5).
#    type: bool
# show_debug = false

#
# Server / Singleplayer
#

#    Name of the server, to be displayed when players join and in the serverlist.
#    type: string
# server_name = Minetest server

#    Description of server, to be displayed when players join and in the serverlist.
#    type: string
# server_description = mine here

#    Domain name of server, to be displayed in the serverlist.
#    type: string
# server_address = game.minetest.net

#    Homepage of server, to be displayed in the serverlist.
#    type: string
# server_url = http://minetest.net

#    Automaticaly report to the serverlist.
#    type: bool
# server_announce = false

#    Announce to this serverlist.
#    If you want to announce your ipv6 address, use  serverlist_url = v6.servers.minetest.net.
#    type: string
# serverlist_url = servers.minetest.net

#    Remove color codes from incoming chat messages
#    Use this to stop players from being able to use color in their messages
#    type: bool
# strip_color_codes = false

## Network

#    Network port to listen (UDP).
#    This value will be overridden when starting from the main menu.
#    type: int
# port = 30000

#    The network interface that the server listens on.
#    type: string
# bind_address =

#    Enable to disallow old clients from connecting.
#    Older clients are compatible in the sense that they will not crash when connecting
#    to new servers, but they may not support all new features that you are expecting.
#    type: bool
# strict_protocol_version_checking = false

#    Specifies URL from which client fetches media instead of using UDP.
#    $filename should be accessible from $remote_media$filename via cURL
#    (obviously, remote_media should end with a slash).
#    Files that are not present will be fetched the usual way.
#    type: string
# remote_media =

#    Enable/disable running an IPv6 server.  An IPv6 server may be restricted
#    to IPv6 clients, depending on system configuration.
#    Ignored if bind_address is set.
#    type: bool
# ipv6_server = false

### Advanced

#    Maximum number of blocks that are simultaneously sent per client.
#    The maximum total count is calculated dynamically:
#    max_total = ceil((#clients + max_users) * per_client / 4)
#    type: int
# max_simultaneous_block_sends_per_client = 10

#    To reduce lag, block transfers are slowed down when a player is building something.
#    This determines how long they are slowed down after placing or removing a node.
#    type: float
# full_block_send_enable_min_time_from_building = 2.0

#    Maximum number of packets sent per send step, if you have a slow connection
#    try reducing it, but don't reduce it to a number below double of targeted
#    client number.
#    type: int
# max_packets_per_iteration = 1024

## Game

#    Default game when creating a new world.
#    This will be overridden when creating a world from the main menu.
#    type: string
# default_game = minetest

#    Message of the day displayed to players connecting.
#    type: string
# motd =

#    Maximum number of players that can connect simultaneously.
#    type: int
# max_users = 15

#    World directory (everything in the world is stored here).
#    Not needed if starting from the main menu.
#    type: path
# map-dir =

#    Time in seconds for item entity (dropped items) to live.
#    Setting it to -1 disables the feature.
#    type: int
# item_entity_ttl = 900

#    If enabled, show the server status message on player connection.
#    type: bool
# show_statusline_on_connect = true

#    Enable players getting damage and dying.
#    type: bool
# enable_damage = false

#    Enable creative mode for new created maps.
#    type: bool
# creative_mode = false

#    A chosen map seed for a new map, leave empty for random.
#    Will be overridden when creating a new world in the main menu.
#    type: string
# fixed_map_seed =

#    New users need to input this password.
#    type: string
# default_password =

#    The privileges that new users automatically get.
#    See /privs in game for a full list on your server and mod configuration.
#    type: string
# default_privs = interact, shout

#    Privileges that players with basic_privs can grant
#    type: string
# basic_privs = interact, shout

#    Whether players are shown to clients without any range limit.
#    Deprecated, use the setting player_transfer_distance instead.
#    type: bool
# unlimited_player_transfer_distance = true

#    Defines the maximal player transfer distance in blocks (0 = unlimited).
#    type: int
# player_transfer_distance = 0

#    Whether to allow players to damage and kill each other.
#    type: bool
# enable_pvp = true

#    Enable mod channels support.
#    type: bool
# enable_mod_channels = false

#    If this is set, players will always (re)spawn at the given position.
#    type: string
# static_spawnpoint =

#    If enabled, new players cannot join with an empty password.
#    type: bool
# disallow_empty_password = false

#    If enabled, disable cheat prevention in multiplayer.
#    type: bool
# disable_anticheat = false

#    If enabled, actions are recorded for rollback.
#    This option is only read when server starts.
#    type: bool
# enable_rollback_recording = false

#    A message to be displayed to all clients when the server shuts down.
#    type: string
# kick_msg_shutdown = Server shutting down.

#    A message to be displayed to all clients when the server crashes.
#    type: string
# kick_msg_crash = This server has experienced an internal error. You will now be disconnected.

#    Whether to ask clients to reconnect after a (Lua) crash.
#    Set this to true if your server is set up to restart automatically.
#    type: bool
# ask_reconnect_on_crash = false

#    From how far clients know about objects, stated in mapblocks (16 nodes).
#    type: int
# active_object_send_range_blocks = 3

#    How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
#    In active blocks objects are loaded and ABMs run.
#    type: int
# active_block_range = 3

#    From how far blocks are sent to clients, stated in mapblocks (16 nodes).
#    type: int
# max_block_send_distance = 10

#    Maximum number of forceloaded mapblocks.
#    type: int
# max_forceloaded_blocks = 16

#    Interval of sending time of day to clients.
#    type: int
# time_send_interval = 5

#    Controls length of day/night cycle.
#    Examples: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged.
#    type: int
# time_speed = 72

#    Time of day when a new world is started, in millihours (0-23999).
#    type: int min: 0 max: 23999
# world_start_time = 5250

#    Interval of saving important changes in the world, stated in seconds.
#    type: float
# server_map_save_interval = 5.3

### Physics

#    type: float
# movement_acceleration_default = 3

#    type: float
# movement_acceleration_air = 2

#    type: float
# movement_acceleration_fast = 10

#    type: float
# movement_speed_walk = 4

#    type: float
# movement_speed_crouch = 1.35

#    type: float
# movement_speed_fast = 20

#    type: float
# movement_speed_climb = 3

#    type: float
# movement_speed_jump = 6.5

#    type: float
# movement_liquid_fluidity = 1

#    type: float
# movement_liquid_fluidity_smooth = 0.5

#    type: float
# movement_liquid_sink = 10

#    type: float
# movement_gravity = 9.81

### Advanced

#    Handling for deprecated lua api calls:
#    -    legacy: (try to) mimic old behaviour (default for release).
#    -    log: mimic and log backtrace of deprecated call (default for debug).
#    -    error: abort on usage of deprecated call (suggested for mod developers).
#    type: enum values: legacy, log, error
# deprecated_lua_api_handling = legacy

#    Number of extra blocks that can be loaded by /clearobjects at once.
#    This is a trade-off between sqlite transaction overhead and
#    memory consumption (4096=100MB, as a rule of thumb).
#    type: int
# max_clearobjects_extra_loaded_blocks = 4096

#    How much the server will wait before unloading unused mapblocks.
#    Higher value is smoother, but will use more RAM.
#    type: int
# server_unload_unused_data_timeout = 29

#    Maximum number of statically stored objects in a block.
#    type: int
# max_objects_per_block = 64

#    See http://www.sqlite.org/pragma.html#pragma_synchronous
#    type: enum values: 0, 1, 2
# sqlite_synchronous = 2

#    Length of a server tick and the interval at which objects are generally updated over network.
#    type: float
# dedicated_server_step = 0.09

#    Time in between active block management cycles
#    type: float
# active_block_mgmt_interval = 2.0

#    Length of time between ABM execution cycles
#    type: float
# abm_interval = 1.0

#    Length of time between NodeTimer execution cycles
#    type: float
# nodetimer_interval = 0.2

#    If enabled, invalid world data won't cause the server to shut down.
#    Only enable this if you know what you are doing.
#    type: bool
# ignore_world_load_errors = false

#    Max liquids processed per step.
#    type: int
# liquid_loop_max = 100000

#    The time (in seconds) that the liquids queue may grow beyond processing
#    capacity until an attempt is made to decrease its size by dumping old queue
#    items.  A value of 0 disables the functionality.
#    type: int
# liquid_queue_purge_time = 0

#    Liquid update interval in seconds.
#    type: float
# liquid_update = 1.0

#    At this distance the server will aggressively optimize which blocks are sent to clients.
#    Small values potentially improve performance a lot, at the expense of visible rendering glitches.
#    (some blocks will not be rendered under water and in caves, as well as sometimes on land)
#    Setting this to a value greater than max_block_send_distance disables this optimization.
#    Stated in mapblocks (16 nodes)
#    type: int min: 2
# block_send_optimize_distance = 4

#    If enabled the server will perform map block occlusion culling based on
#    on the eye position of the player. This can reduce the number of blocks
#    sent to the client 50-80%. The client will not longer receive most invisible
#    so that the utility of noclip mode is reduced.
#    type: bool
# server_side_occlusion_culling = true

#    Restricts the access of certain client-side functions on servers
#    Combine these byteflags below to restrict more client-side features:
#    LOAD_CLIENT_MODS: 1 (disable client mods loading)
#    CHAT_MESSAGES: 2 (disable send_chat_message call client-side)
#    READ_ITEMDEFS: 4 (disable get_item_def call client-side)
#    READ_NODEDEFS: 8 (disable get_node_def call client-side)
#    type: int
#    LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to csm_flavour_noderange_limit)
# csm_flavour_limits = 18

#    If the CSM flavour for node range is enabled, get_node is limited to
#    this many nodes from the player.
#    type: int
# csm_flavour_noderange_limit = 8

## Security

#    Prevent mods from doing insecure things like running shell commands.
#    type: bool
# secure.enable_security = true

#    Comma-separated list of trusted mods that are allowed to access insecure
#    functions even when mod security is on (via request_insecure_environment()).
#    type: string
# secure.trusted_mods =

#    Comma-separated list of mods that are allowed to access HTTP APIs, which
#    allow them to upload and download data to/from the internet.
#    type: string
# secure.http_mods =

## Advanced

### Profiling

#    Load the game profiler to collect game profiling data.
#    Provides a /profiler command to access the compiled profile.
#    Useful for mod developers and server operators.
#    type: bool
# profiler.load = false

#    The default format in which profiles are being saved,
#    when calling `/profiler save [format]` without format.
#    type: enum values: txt, csv, lua, json, json_pretty
# profiler.default_report_format = txt

#    The file path relative to your worldpath in which profiles will be saved to.
#    type: string
# profiler.report_path = ""

#### Instrumentation

#    Instrument the methods of entities on registration.
#    type: bool
# instrument.entity = true

#    Instrument the action function of Active Block Modifiers on registration.
#    type: bool
# instrument.abm = true

#    Instrument the action function of Loading Block Modifiers on registration.
#    type: bool
# instrument.lbm = true

#    Instrument chatcommands on registration.
#    type: bool
# instrument.chatcommand = true

#    Instrument global callback functions on registration.
#    (anything you pass to a minetest.register_*() function)
#    type: bool
# instrument.global_callback = true

##### Advanced

#    Instrument builtin.
#    This is usually only needed by core/builtin contributors
#    type: bool
# instrument.builtin = false

#    Have the profiler instrument itself:
#    * Instrument an empty function.
#    This estimates the overhead, that instrumentation is adding (+1 function call).
#    * Instrument the sampler being used to update the statistics.
#    type: bool
# instrument.profiler = false

#
# Client and Server
#

#    Name of the player.
#    When running a server, clients connecting with this name are admins.
#    When starting from the main menu, this is overridden.
#    type: string
# name =

#    Set the language. Leave empty to use the system language.
#    A restart is required after changing this.
#    type: enum values: , be, ca, cs, da, de, en, eo, es, et, fr, he, hu, id, it, ja, jbo, ko, ky, lt, nb, nl, pl, pt, pt_BR, ro, ru, sr_Cyrl, tr, uk, zh_CN, zh_TW
# language =

#    Level of logging to be written to debug.txt:
#    -    <nothing> (no logging)
#    -    none (messages with no level)
#    -    error
#    -    warning
#    -    action
#    -    info
#    -    verbose
#    type: enum values: , none, error, warning, action, info, verbose
# debug_log_level = action

#    IPv6 support.
#    type: bool
# enable_ipv6 = true

## Advanced

#    Default timeout for cURL, stated in milliseconds.
#    Only has an effect if compiled with cURL.
#    type: int
# curl_timeout = 5000

#    Limits number of parallel HTTP requests. Affects:
#    -    Media fetch if server uses remote_media setting.
#    -    Serverlist download and server announcement.
#    -    Downloads performed by main menu (e.g. mod manager).
#    Only has an effect if compiled with cURL.
#    type: int
# curl_parallel_limit = 8

#    Maximum time in ms a file download (e.g. a mod download) may take.
#    type: int
# curl_file_download_timeout = 300000

#    Makes DirectX work with LuaJIT. Disable if it causes troubles.
#    type: bool
# high_precision_fpu = true

#    Replaces the default main menu with a custom one.
#    type: string
# main_menu_script =

#    type: int
# main_menu_game_mgr = 0

#    type: int
# main_menu_mod_mgr = 1

#    Print the engine's profiling data in regular intervals (in seconds). 0 = disable. Useful for developers.
#    type: int
# profiler_print_interval = 0

#
# Mapgen
#

#    Name of map generator to be used when creating a new world.
#    Creating a world in the main menu will override this.
#    type: enum values: v5, v6, v7, flat, valleys, fractal, singlenode
# mg_name = v7

#    Water surface level of the world.
#    type: int
# water_level = 1

#    From how far blocks are generated for clients, stated in mapblocks (16 nodes).
#    type: int
# max_block_generate_distance = 6

#    Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).
#    Only mapchunks completely within the mapgen limit are generated.
#    Value is stored per-world.
#    type: int min: 0 max: 31000
# mapgen_limit = 31000

#    Global map generation attributes.
#    In Mapgen v6 the 'decorations' flag controls all decorations except trees
#    and junglegrass, in all other mapgens this flag controls all decorations.
#    Flags that are not enabled are not modified from the default.
#    Flags starting with 'no' are used to explicitly disable them.
#    type: flags possible values: caves, dungeons, light, decorations, nocaves, nodungeons, nolight, nodecorations
# mg_flags = caves,dungeons,light,decorations

#    Whether dungeons occasionally project from the terrain.
#    type: bool
# projecting_dungeons = true

## Biome API temperature and humidity noise parameters

#    Temperature variation for biomes.
#    type: noise_params_2d
# mg_biome_np_heat = {
#    offset      = 50,
#    scale       = 50,
#    spread      = (1000, 1000, 1000),
#    seed        = 5349,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Small-scale temperature variation for blending biomes on borders.
#    type: noise_params_2d
# mg_biome_np_heat_blend = {
#    offset      = 0,
#    scale       = 1.5,
#    spread      = (8, 8, 8),
#    seed        = 13,
#    octaves     = 2,
#    persistence = 1.0,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Humidity variation for biomes.
#    type: noise_params_2d
# mg_biome_np_humidity = {
#    offset      = 50,
#    scale       = 50,
#    spread      = (1000, 1000, 1000),
#    seed        = 842,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Small-scale humidity variation for blending biomes on borders.
#    type: noise_params_2d
# mg_biome_np_humidity_blend = {
#    offset      = 0,
#    scale       = 1.5,
#    spread      = (8, 8, 8),
#    seed        = 90003,
#    octaves     = 2,
#    persistence = 1.0,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

## Mapgen V5

#    Map generation attributes specific to Mapgen v5.
#    Flags that are not enabled are not modified from the default.
#    Flags starting with 'no' are used to explicitly disable them.
#    type: flags possible values: caverns, nocaverns
# mgv5_spflags = caverns

#    Controls width of tunnels, a smaller value creates wider tunnels.
#    type: float
# mgv5_cave_width = 0.125

#    Y of upper limit of large caves.
#    type: int
# mgv5_large_cave_depth = -256

#    Y of upper limit of lava in large caves.
#    type: int
# mgv5_lava_depth = -256

#    Y-level of cavern upper limit.
#    type: int
# mgv5_cavern_limit = -256

#    Y-distance over which caverns expand to full size.
#    type: int
# mgv5_cavern_taper = 256

#    Defines full size of caverns, smaller values create larger caverns.
#    type: float
# mgv5_cavern_threshold = 0.7

### Noises

#    Variation of biome filler depth.
#    type: noise_params_2d
# mgv5_np_filler_depth = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (150, 150, 150),
#    seed        = 261,
#    octaves     = 4,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Variation of terrain vertical scale.
#    When noise is < -0.55 terrain is near-flat.
#    type: noise_params_2d
# mgv5_np_factor = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (250, 250, 250),
#    seed        = 920381,
#    octaves     = 3,
#    persistence = 0.45,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Y-level of average terrain surface.
#    type: noise_params_2d
# mgv5_np_height = {
#    offset      = 0,
#    scale       = 10,
#    spread      = (250, 250, 250),
#    seed        = 84174,
#    octaves     = 4,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    First of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgv5_np_cave1 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (50, 50, 50),
#    seed        = 52534,
#    octaves     = 4,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    Second of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgv5_np_cave2 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (50, 50, 50),
#    seed        = 10325,
#    octaves     = 4,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    3D noise defining giant caverns.
#    type: noise_params_3d
# mgv5_np_cavern = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (384, 128, 384),
#    seed        = 723,
#    octaves     = 5,
#    persistence = 0.63,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    3D noise defining terrain.
#    type: noise_params_3d
# mgv5_np_ground = {
#    offset      = 0,
#    scale       = 40,
#    spread      = (80, 80, 80),
#    seed        = 983240,
#    octaves     = 4,
#    persistence = 0.55,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

## Mapgen V6

#    Map generation attributes specific to Mapgen v6.
#    The 'snowbiomes' flag enables the new 5 biome system.
#    When the new biome system is enabled jungles are automatically enabled and
#    the 'jungles' flag is ignored.
#    Flags that are not enabled are not modified from the default.
#    Flags starting with 'no' are used to explicitly disable them.
#    type: flags possible values: jungles, biomeblend, mudflow, snowbiomes, flat, trees, nojungles, nobiomeblend, nomudflow, nosnowbiomes, noflat, notrees
# mgv6_spflags = jungles,biomeblend,mudflow,snowbiomes,trees

#    Deserts occur when np_biome exceeds this value.
#    When the new biome system is enabled, this is ignored.
#    type: float
# mgv6_freq_desert = 0.45

#    Sandy beaches occur when np_beach exceeds this value.
#    type: float
# mgv6_freq_beach = 0.15

### Noises

#    Y-level of lower terrain and lakebeds.
#    type: noise_params_2d
# mgv6_np_terrain_base = {
#    offset      = -4,
#    scale       = 20,
#    spread      = (250, 250, 250),
#    seed        = 82341,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Y-level of higher (cliff-top) terrain.
#    type: noise_params_2d
# mgv6_np_terrain_higher = {
#    offset      = 20,
#    scale       = 16,
#    spread      = (500, 500, 500),
#    seed        = 85039,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Varies steepness of cliffs.
#    type: noise_params_2d
# mgv6_np_steepness = {
#    offset      = 0.85,
#    scale       = 0.5,
#    spread      = (125, 125, 125),
#    seed        = -932,
#    octaves     = 5,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Defines areas of 'terrain_higher' (cliff-top terrain).
#    type: noise_params_2d
# mgv6_np_height_select = {
#    offset      = 0.5,
#    scale       = 1,
#    spread      = (250, 250, 250),
#    seed        = 4213,
#    octaves     = 5,
#    persistence = 0.69,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Varies depth of biome surface nodes.
#    type: noise_params_2d
# mgv6_np_mud = {
#    offset      = 4,
#    scale       = 2,
#    spread      = (200, 200, 200),
#    seed        = 91013,
#    octaves     = 3,
#    persistence = 0.55,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Defines areas with sandy beaches.
#    type: noise_params_2d
# mgv6_np_beach = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (250, 250, 250),
#    seed        = 59420,
#    octaves     = 3,
#    persistence = 0.50,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Temperature variation for biomes.
#    type: noise_params_2d
# mgv6_np_biome = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (500, 500, 500),
#    seed        = 9130,
#    octaves     = 3,
#    persistence = 0.50,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Variation of number of caves.
#    type: noise_params_2d
# mgv6_np_cave = {
#    offset      = 6,
#    scale       = 6,
#    spread      = (250, 250, 250),
#    seed        = 34329,
#    octaves     = 3,
#    persistence = 0.50,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Humidity variation for biomes.
#    type: noise_params_2d
# mgv6_np_humidity = {
#    offset      = 0.5,
#    scale       = 0.5,
#    spread      = (500, 500, 500),
#    seed        = 72384,
#    octaves     = 3,
#    persistence = 0.50,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Defines tree areas and tree density.
#    type: noise_params_2d
# mgv6_np_trees = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (125, 125, 125),
#    seed        = 2,
#    octaves     = 4,
#    persistence = 0.66,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Defines areas where trees have apples.
#    type: noise_params_2d
# mgv6_np_apple_trees = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (100, 100, 100),
#    seed        = 342902,
#    octaves     = 3,
#    persistence = 0.45,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

## Mapgen V7

#    Map generation attributes specific to Mapgen v7.
#    'ridges' enables the rivers.
#    Flags that are not enabled are not modified from the default.
#    Flags starting with 'no' are used to explicitly disable them.
#    type: flags possible values: mountains, ridges, floatlands, caverns, nomountains, noridges, nofloatlands, nocaverns
# mgv7_spflags = mountains,ridges,nofloatlands,caverns

#    Y of mountain density gradient zero level. Used to shift mountains vertically.
#    type: int
# mgv7_mount_zero_level = 0

#    Controls width of tunnels, a smaller value creates wider tunnels.
#    type: float
# mgv7_cave_width = 0.09

#    Y of upper limit of large caves.
#    type: int
# mgv7_large_cave_depth = -33

#    Y of upper limit of lava in large caves.
#    type: int
# mgv7_lava_depth = -256

#    Controls the density of floatland mountain terrain.
#    Is an offset added to the 'np_mountain' noise value.
#    type: float
# mgv7_float_mount_density = 0.6

#    Typical maximum height, above and below midpoint, of floatland mountain terrain.
#    type: float
# mgv7_float_mount_height = 128.0

#    Y-level of floatland midpoint and lake surface.
#    type: int
# mgv7_floatland_level = 1280

#    Y-level to which floatland shadows extend.
#    type: int
# mgv7_shadow_limit = 1024

#    Y-level of cavern upper limit.
#    type: int
# mgv7_cavern_limit = -256

#    Y-distance over which caverns expand to full size.
#    type: int
# mgv7_cavern_taper = 256

#    Defines full size of caverns, smaller values create larger caverns.
#    type: float
# mgv7_cavern_threshold = 0.7

### Noises

#    Y-level of higher (cliff-top) terrain.
#    type: noise_params_2d
# mgv7_np_terrain_base = {
#    offset      = 4,
#    scale       = 70,
#    spread      = (600, 600, 600),
#    seed        = 82341,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Y-level of lower terrain and lakebeds.
#    type: noise_params_2d
# mgv7_np_terrain_alt = {
#    offset      = 4,
#    scale       = 25,
#    spread      = (600, 600, 600),
#    seed        = 5934,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Varies roughness of terrain.
#    Defines the 'persistence' value for terrain_base and terrain_alt noises.
#    type: noise_params_2d
# mgv7_np_terrain_persist = {
#    offset      = 0.6,
#    scale       = 0.1,
#    spread      = (2000, 2000, 2000),
#    seed        = 539,
#    octaves     = 3,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Defines areas of higher (cliff-top) terrain and affects steepness of cliffs.
#    type: noise_params_2d
# mgv7_np_height_select = {
#    offset      = -8,
#    scale       = 16,
#    spread      = (500, 500, 500),
#    seed        = 4213,
#    octaves     = 6,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Variation of biome filler depth.
#    type: noise_params_2d
# mgv7_np_filler_depth = {
#    offset      = 0,
#    scale       = 1.2,
#    spread      = (150, 150, 150),
#    seed        = 261,
#    octaves     = 3,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Variation of maximum mountain height (in nodes).
#    type: noise_params_2d
# mgv7_np_mount_height = {
#    offset      = 256,
#    scale       = 112,
#    spread      = (1000, 1000, 1000),
#    seed        = 72449,
#    octaves     = 3,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Defines large-scale river channel structure.
#    type: noise_params_2d
# mgv7_np_ridge_uwater = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (1000, 1000, 1000),
#    seed        = 85039,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Defines areas of floatland smooth terrain.
#    Smooth floatlands occur when noise > 0.
#    type: noise_params_2d
# mgv7_np_floatland_base = {
#    offset      = -0.6,
#    scale       = 1.5,
#    spread      = (600, 600, 600),
#    seed        = 114,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Variation of hill height and lake depth on floatland smooth terrain.
#    type: noise_params_2d
# mgv7_np_float_base_height = {
#    offset      = 48,
#    scale       = 24,
#    spread      = (300, 300, 300),
#    seed        = 907,
#    octaves     = 4,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    3D noise defining mountain structure and height.
#    Also defines structure of floatland mountain terrain.
#    type: noise_params_3d
# mgv7_np_mountain = {
#    offset      = -0.6,
#    scale       = 1,
#    spread      = (250, 350, 250),
#    seed        = 5333,
#    octaves     = 5,
#    persistence = 0.63,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    3D noise defining structure of river canyon walls.
#    type: noise_params_3d
# mgv7_np_ridge = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (100, 100, 100),
#    seed        = 6467,
#    octaves     = 4,
#    persistence = 0.75,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    3D noise defining giant caverns.
#    type: noise_params_3d
# mgv7_np_cavern = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (384, 128, 384),
#    seed        = 723,
#    octaves     = 5,
#    persistence = 0.63,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    First of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgv7_np_cave1 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (61, 61, 61),
#    seed        = 52534,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    Second of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgv7_np_cave2 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (67, 67, 67),
#    seed        = 10325,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

## Mapgen Carpathian

#    Map generation attributes specific to Mapgen Carpathian.
#    Flags that are not enabled are not modified from the default.
#    Flags starting with 'no' are used to explicitly disable them.
#    type: flags possible values: caverns, nocaverns
# mgcarpathian_spflags = caverns

#    Controls width of tunnels, a smaller value creates wider tunnels.
#    type: float
# mgcarpathian_cave_width = 0.09

#    Y of upper limit of large caves.
#    type: int
# mgcarpathian_large_cave_depth = -33

#    Y of upper limit of lava in large caves.
#    type: int
# mgcarpathian_lava_depth = -256

#    Y-level of cavern upper limit.
#    type: int
# mgcarpathian_cavern_limit = -256

#    Y-distance over which caverns expand to full size.
#    type: int
# mgcarpathian_cavern_taper = 256

#    Defines full size of caverns, smaller values create larger caverns.
#    type: float
# mgcarpathian_cavern_threshold = 0.7

### Noises

#    2D noise that defines the base ground level.
#    type: noise_params_2d
# mgcarpathian_np_base = {
#    offset      = 12,
#    scale       = 1,
#    spread      = (2557, 2557, 2557),
#    seed        = 6538,
#    octaves     = 4,
#    persistence = 0.8,
#    lacunarity  = 0.5,
#    flags       = "eased"
# }

#    Variation of biome filler depth.
#    type: noise_params_2d
# mgcarpathian_np_filler_depth = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (128, 128, 128),
#    seed        = 261,
#    octaves     = 3,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    First of 4 2D noises that together define hill/mountain range height.
#    type: noise_params_2d
# mgcarpathian_np_height1 = {
#    offset      = 0,
#    scale       = 5,
#    spread      = (251, 251, 251),
#    seed        = 9613,
#    octaves     = 5,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Second of 4 2D noises that together define hill/mountain range height.
#    type: noise_params_2d
# mgcarpathian_np_height2 = {
#    offset      = 0,
#    scale       = 5,
#    spread      = (383, 383, 383),
#    seed        = 1949,
#    octaves     = 5,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Third of 4 2D noises that together define hill/mountain range height.
#    type: noise_params_2d
# mgcarpathian_np_height3 = {
#    offset      = 0,
#    scale       = 5,
#    spread      = (509, 509, 509),
#    seed        = 3211,
#    octaves     = 5,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Fourth of 4 2D noises that together define hill/mountain range height.
#    type: noise_params_2d
# mgcarpathian_np_height4 = {
#    offset      = 0,
#    scale       = 5,
#    spread      = (631, 631, 631),
#    seed        = 1583,
#    octaves     = 5,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    2D noise that controls the size/occurance of rolling hills.
#    type: noise_params_2d
# mgcarpathian_np_hills_terrain = {
#    offset      = 1,
#    scale       = 1,
#    spread      = (1301, 1301, 1301),
#    seed        = 1692,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    2D noise that controls the size/occurance of ridged mountain ranges.
#    type: noise_params_2d
# mgcarpathian_np_ridge_terrain = {
#    offset      = 1,
#    scale       = 1,
#    spread      = (1889, 1889, 1889),
#    seed        = 3568,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    2D noise that controls the size/occurance of step mountain ranges.
#    type: noise_params_2d
# mgcarpathian_np_step_terrain = {
#    offset      = 1,
#    scale       = 1,
#    spread      = (1889, 1889, 1889),
#    seed        = 4157,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    2D noise that controls the shape/size of rolling hills.
#    type: noise_params_2d
# mgcarpathian_np_hills = {
#    offset      = 0,
#    scale       = 3,
#    spread      = (257, 257, 257),
#    seed        = 6604,
#    octaves     = 6,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    2D noise that controls the shape/size of ridged mountains.
#    type: noise_params_2d
# mgcarpathian_np_ridge_mnt = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (743, 743, 743),
#    seed        = 5520,
#    octaves     = 6,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    2D noise that controls the shape/size of step mountains.
#    type: noise_params_2d
# mgcarpathian_np_step_mnt = {
#    offset      = 0,
#    scale       = 8,
#    spread      = (509, 509, 509),
#    seed        = 2590,
#    octaves     = 6,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    3D noise for mountain overhangs, cliffs, etc. Usually small variations.
#    type: noise_params_3d
# mgcarpathian_np_mnt_var = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (499, 499, 499),
#    seed        = 2490,
#    octaves     = 5,
#    persistence = 0.55,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    First of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgcarpathian_np_cave1 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (61, 61, 61),
#    seed        = 52534,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    Second of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgcarpathian_np_cave2 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (67, 67, 67),
#    seed        = 10325,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    3D noise defining giant caverns.
#    type: noise_params_3d
# mgcarpathian_np_cavern = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (384, 128, 384),
#    seed        = 723,
#    octaves     = 5,
#    persistence = 0.63,
#    lacunarity  = 2.0,
#    flags       = ""
# }

## Mapgen Flat

#    Map generation attributes specific to Mapgen flat.
#    Occasional lakes and hills can be added to the flat world.
#    Flags that are not enabled are not modified from the default.
#    Flags starting with 'no' are used to explicitly disable them.
#    type: flags possible values: lakes, hills, nolakes, nohills
# mgflat_spflags = nolakes,nohills

#    Y of flat ground.
#    type: int
# mgflat_ground_level = 8

#    Y of upper limit of large caves.
#    type: int
# mgflat_large_cave_depth = -33

#    Y of upper limit of lava in large caves.
#    type: int
# mgflat_lava_depth = -256

#    Controls width of tunnels, a smaller value creates wider tunnels.
#    type: float
# mgflat_cave_width = 0.09

#    Terrain noise threshold for lakes.
#    Controls proportion of world area covered by lakes.
#    Adjust towards 0.0 for a larger proportion.
#    type: float
# mgflat_lake_threshold = -0.45

#    Controls steepness/depth of lake depressions.
#    type: float
# mgflat_lake_steepness = 48.0

#    Terrain noise threshold for hills.
#    Controls proportion of world area covered by hills.
#    Adjust towards 0.0 for a larger proportion.
#    type: float
# mgflat_hill_threshold = 0.45

#    Controls steepness/height of hills.
#    type: float
# mgflat_hill_steepness = 64.0

### Noises

#    Defines location and terrain of optional hills and lakes.
#    type: noise_params_2d
# mgflat_np_terrain = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (600, 600, 600),
#    seed        = 7244,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Variation of biome filler depth.
#    type: noise_params_2d
# mgflat_np_filler_depth = {
#    offset      = 0,
#    scale       = 1.2,
#    spread      = (150, 150, 150),
#    seed        = 261,
#    octaves     = 3,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    First of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgflat_np_cave1 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (61, 61, 61),
#    seed        = 52534,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    Second of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgflat_np_cave2 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (67, 67, 67),
#    seed        = 10325,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

## Mapgen Fractal

#    Controls width of tunnels, a smaller value creates wider tunnels.
#    type: float
# mgfractal_cave_width = 0.09

#    Y of upper limit of large caves.
#    type: int
# mgfractal_large_cave_depth = -33

#    Y of upper limit of lava in large caves.
#    type: int
# mgfractal_lava_depth = -256

#    Choice of 18 fractals from 9 formulas.
#    1 = 4D "Roundy" mandelbrot set.
#    2 = 4D "Roundy" julia set.
#    3 = 4D "Squarry" mandelbrot set.
#    4 = 4D "Squarry" julia set.
#    5 = 4D "Mandy Cousin" mandelbrot set.
#    6 = 4D "Mandy Cousin" julia set.
#    7 = 4D "Variation" mandelbrot set.
#    8 = 4D "Variation" julia set.
#    9 = 3D "Mandelbrot/Mandelbar" mandelbrot set.
#    10 = 3D "Mandelbrot/Mandelbar" julia set.
#    11 = 3D "Christmas Tree" mandelbrot set.
#    12 = 3D "Christmas Tree" julia set.
#    13 = 3D "Mandelbulb" mandelbrot set.
#    14 = 3D "Mandelbulb" julia set.
#    15 = 3D "Cosine Mandelbulb" mandelbrot set.
#    16 = 3D "Cosine Mandelbulb" julia set.
#    17 = 4D "Mandelbulb" mandelbrot set.
#    18 = 4D "Mandelbulb" julia set.
#    type: int min: 1 max: 18
# mgfractal_fractal = 1

#    Iterations of the recursive function.
#    Controls the amount of fine detail.
#    type: int
# mgfractal_iterations = 11

#    Approximate (X,Y,Z) scale of fractal in nodes.
#    type: v3f
# mgfractal_scale = (4096.0, 1024.0, 4096.0)

#    (X,Y,Z) offset of fractal from world centre in units of 'scale'.
#    Used to move a suitable spawn area of low land close to (0, 0).
#    The default is suitable for mandelbrot sets, it needs to be edited for julia sets.
#    Range roughly -2 to 2. Multiply by 'scale' for offset in nodes.
#    type: v3f
# mgfractal_offset = (1.79, 0.0, 0.0)

#    W co-ordinate of the generated 3D slice of a 4D fractal.
#    Determines which 3D slice of the 4D shape is generated.
#    Has no effect on 3D fractals.
#    Range roughly -2 to 2.
#    type: float
# mgfractal_slice_w = 0.0

#    Julia set only: X component of hypercomplex constant determining julia shape.
#    Range roughly -2 to 2.
#    type: float
# mgfractal_julia_x = 0.33

#    Julia set only: Y component of hypercomplex constant determining julia shape.
#    Range roughly -2 to 2.
#    type: float
# mgfractal_julia_y = 0.33

#    Julia set only: Z component of hypercomplex constant determining julia shape.
#    Range roughly -2 to 2.
#    type: float
# mgfractal_julia_z = 0.33

#    Julia set only: W component of hypercomplex constant determining julia shape.
#    Has no effect on 3D fractals.
#    Range roughly -2 to 2.
#    type: float
# mgfractal_julia_w = 0.33

### Noises

#    Y-level of seabed.
#    type: noise_params_2d
# mgfractal_np_seabed = {
#    offset      = -14,
#    scale       = 9,
#    spread      = (600, 600, 600),
#    seed        = 41900,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Variation of biome filler depth.
#    type: noise_params_2d
# mgfractal_np_filler_depth = {
#    offset      = 0,
#    scale       = 1.2,
#    spread      = (150, 150, 150),
#    seed        = 261,
#    octaves     = 3,
#    persistence = 0.7,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    First of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgfractal_np_cave1 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (61, 61, 61),
#    seed        = 52534,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    Second of 2 3D noises that together define tunnels.
#    type: noise_params_3d
# mgfractal_np_cave2 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (67, 67, 67),
#    seed        = 10325,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

## Mapgen Valleys

#    Map generation attributes specific to Mapgen Valleys.
#    'altitude_chill' makes higher elevations colder, which may cause biome issues.
#    'humid_rivers' modifies the humidity around rivers and in areas where water would tend to pool,
#    it may interfere with delicately adjusted biomes.
#    Flags that are not enabled are not modified from the default.
#    Flags starting with 'no' are used to explicitly disable them.
#    type: flags possible values: altitude_chill, noaltitude_chill, humid_rivers, nohumid_rivers
# mg_valleys_spflags = altitude_chill,humid_rivers

#    The altitude at which temperature drops by 20C
#    type: int
# mgvalleys_altitude_chill = 90

#    Depth below which you'll find large caves.
#    type: int
# mgvalleys_large_cave_depth = -33

#    Creates unpredictable lava features in caves.
#    These can make mining difficult. Zero disables them. (0-10)
#    type: int
# mgvalleys_lava_features = 0

#    Depth below which you'll find massive caves.
#    type: int
# mgvalleys_massive_cave_depth = -256

#    How deep to make rivers
#    type: int
# mgvalleys_river_depth = 4

#    How wide to make rivers
#    type: int
# mgvalleys_river_size = 5

#    Creates unpredictable water features in caves.
#    These can make mining difficult. Zero disables them. (0-10)
#    type: int
# mgvalleys_water_features = 0

#    Controls width of tunnels, a smaller value creates wider tunnels.
#    type: float
# mgvalleys_cave_width = 0.09

### Noises

#    Caves and tunnels form at the intersection of the two noises
#    type: noise_params_3d
# mgvalleys_np_cave1 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (61, 61, 61),
#    seed        = 52534,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    Caves and tunnels form at the intersection of the two noises
#    type: noise_params_3d
# mgvalleys_np_cave2 = {
#    offset      = 0,
#    scale       = 12,
#    spread      = (67, 67, 67),
#    seed        = 10325,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    The depth of dirt or other filler
#    type: noise_params_2d
# mgvalleys_np_filler_depth = {
#    offset      = 0,
#    scale       = 1.2,
#    spread      = (256, 256, 256),
#    seed        = 1605,
#    octaves     = 3,
#    persistence = 0.5,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Massive caves form here.
#    type: noise_params_3d
# mgvalleys_np_massive_caves = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (768, 256, 768),
#    seed        = 59033,
#    octaves     = 6,
#    persistence = 0.63,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    River noise -- rivers occur close to zero
#    type: noise_params_2d
# mgvalleys_np_rivers = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (256, 256, 256),
#    seed        = -6050,
#    octaves     = 5,
#    persistence = 0.6,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Base terrain height
#    type: noise_params_2d
# mgvalleys_np_terrain_height = {
#    offset      = -10,
#    scale       = 50,
#    spread      = (1024, 1024, 1024),
#    seed        = 5202,
#    octaves     = 6,
#    persistence = 0.4,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Raises terrain to make valleys around the rivers
#    type: noise_params_2d
# mgvalleys_np_valley_depth = {
#    offset      = 5,
#    scale       = 4,
#    spread      = (512, 512, 512),
#    seed        = -1914,
#    octaves     = 1,
#    persistence = 1.0,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Slope and fill work together to modify the heights
#    type: noise_params_3d
# mgvalleys_np_inter_valley_fill = {
#    offset      = 0,
#    scale       = 1,
#    spread      = (256, 512, 256),
#    seed        = 1993,
#    octaves     = 6,
#    persistence = 0.8,
#    lacunarity  = 2.0,
#    flags       = ""
# }

#    Amplifies the valleys
#    type: noise_params_2d
# mgvalleys_np_valley_profile = {
#    offset      = 0.6,
#    scale       = 0.5,
#    spread      = (512, 512, 512),
#    seed        = 777,
#    octaves     = 1,
#    persistence = 1.0,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

#    Slope and fill work together to modify the heights
#    type: noise_params_2d
# mgvalleys_np_inter_valley_slope = {
#    offset      = 0.5,
#    scale       = 0.5,
#    spread      = (128, 128, 128),
#    seed        = 746,
#    octaves     = 1,
#    persistence = 1.0,
#    lacunarity  = 2.0,
#    flags       = "eased"
# }

## Advanced

#    Size of chunks to be generated at once by mapgen, stated in mapblocks (16 nodes).
#    type: int
# chunksize = 5

#    Dump the mapgen debug infos.
#    type: bool
# enable_mapgen_debug_info = false

#    Maximum number of blocks that can be queued for loading.
#    type: int
# emergequeue_limit_total = 256

#    Maximum number of blocks to be queued that are to be loaded from file.
#    Set to blank for an appropriate amount to be chosen automatically.
#    type: int
# emergequeue_limit_diskonly = 32

#    Maximum number of blocks to be queued that are to be generated.
#    Set to blank for an appropriate amount to be chosen automatically.
#    type: int
# emergequeue_limit_generate = 32

#    Number of emerge threads to use. Make this field blank, or increase this number
#    to use multiple threads. On multiprocessor systems, this will improve mapgen speed greatly
#    at the cost of slightly buggy caves.
#    type: int
# num_emerge_threads = 1