# type: bool
# free_move = false
-# If enabled together with fly mode, makes move directions relative to the player's pitch.
+# If enabled, makes move directions relative to the player's pitch when flying or swimming.
# type: bool
-# pitch_fly = false
+# pitch_move = false
-# Fast movement (via the "special" key).
+# Fast movement (via the "Aux1" key).
# This requires the "fast" privilege on the server.
# type: bool
# fast_move = false
# type: float
# mouse_sensitivity = 0.2
-# If enabled, "special" key instead of "sneak" key is used for climbing down and descending.
+# If enabled, "Aux1" key instead of "Sneak" key is used for climbing down and
+# descending.
# type: bool
# aux1_descends = false
# type: bool
# doubletap_jump = false
-# If disabled, "special" key is used to fly fast if both fly and fast mode are enabled.
+# If disabled, "Aux1" 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 node placements when holding
+# the place button.
+# type: float min: 0.001
+# repeat_place_time = 0.25
+
# Automatically jump up single-node obstacles.
# type: bool
# autojump = false
-# 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
# type: bool
# fixed_virtual_joystick = false
-# (Android) Use virtual joystick to trigger "aux" button.
-# If enabled, virtual joystick will also tap "aux" button when out of main circle.
+# (Android) Use virtual joystick to trigger "Aux1" button.
+# If enabled, virtual joystick will also tap "Aux1" button when out of main circle.
# type: bool
-# virtual_joystick_triggers_aux = false
+# virtual_joystick_triggers_aux1 = false
# Enable joysticks
# type: bool
# joystick_id = 0
# The type of joystick
-# type: enum values: auto, generic, xbox
+# type: enum values: auto, generic, xbox, dragonrise_gamecube
# joystick_type = auto
# The time in seconds it takes between repeated events
# when holding down a joystick button combination.
-# type: float
+# type: float min: 0.001
# repeat_joystick_button_time = 0.17
+# The dead zone of the joystick
+# type: int
+# joystick_deadzone = 2048
+
# The sensitivity of the joystick axes for moving the
-# ingame view frustum around.
+# in-game view frustum around.
# type: float
# joystick_frustum_sensitivity = 170
# type: key
# keymap_sneak = KEY_LSHIFT
+# Key for digging.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_dig = KEY_LBUTTON
+
+# Key for placing.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_place = KEY_RBUTTON
+
# Key for opening the inventory.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
# Key for moving fast in fast mode.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
-# keymap_special1 = KEY_KEY_E
+# keymap_aux1 = KEY_KEY_E
# Key for opening the chat window.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
# keymap_freemove = KEY_KEY_K
-# Key for toggling pitch fly mode.
+# Key for toggling pitch move mode.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
-# keymap_pitchfly = KEY_KEY_L
+# keymap_pitchmove = KEY_KEY_P
# Key for toggling fast mode.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# Key for toggling display of minimap.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
-# keymap_minimap = KEY_F9
+# keymap_minimap = KEY_KEY_V
# Key for taking screenshots.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
# keymap_slot20 =
-# Key for selecting the 21th hotbar slot.
+# Key for selecting the 21st hotbar slot.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
# keymap_slot21 =
-# Key for selecting the 22th hotbar slot.
+# Key for selecting the 22nd hotbar slot.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
# keymap_slot22 =
-# Key for selecting the 23th hotbar slot.
+# Key for selecting the 23rd hotbar slot.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
# keymap_slot23 =
+# Key for selecting the 24th hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot24 =
+
+# Key for selecting the 25th hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot25 =
+
+# Key for selecting the 26th hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot26 =
+
+# Key for selecting the 27th hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot27 =
+
+# Key for selecting the 28th hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot28 =
+
+# Key for selecting the 29th hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot29 =
+
+# Key for selecting the 30th hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot30 =
+
+# Key for selecting the 31st hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot31 =
+
+# Key for selecting the 32nd hotbar slot.
+# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+# type: key
+# keymap_slot32 =
+
# 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.
+# Key for toggling the display of chat.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
# keymap_toggle_chat = KEY_F2
# type: key
# keymap_console = KEY_F10
-# Key for toggling the display of the fog.
+# Key for toggling the display of fog.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
# keymap_toggle_force_fog_off = KEY_F3
# 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
+# keymap_camera_mode = KEY_KEY_C
# Key for increasing the viewing range.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
### Basic
-# Enable VBO
+# Whether name tag backgrounds should be shown by default.
+# Mods may still set a background.
+# type: bool
+# show_nametag_backgrounds = true
+
+# Enable vertex buffer objects.
+# This should greatly improve graphics performance.
# type: bool
# enable_vbo = true
# type: bool
# smooth_lighting = true
+# Enables tradeoffs that reduce CPU load or increase rendering performance
+# at the expense of minor visual glitches that do not impact game playability.
+# type: bool
+# performance_tradeoffs = false
+
# Clouds are a client side effect.
# type: bool
# enable_clouds = true
### Filtering
-# Use mip mapping to scale textures. May slightly increase performance,
+# Use mipmapping to scale textures. May slightly increase performance,
# especially when using a high resolution texture pack.
# Gamma correct downscaling is not supported.
# 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.
+# which PNG optimizers usually discard, often resulting in dark or
+# light edges to transparent textures. Apply a filter to clean that up
+# at texture load time. This is automatically enabled if mipmapping is enabled.
# 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
+# 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.
+# memory. Powers of 2 are recommended. This setting is ONLY applied if
+# 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.
+# Use multi-sample antialiasing (MSAA) to smooth out block edges.
+# This algorithm smooths out the 3D viewport while keeping the image sharp,
+# but it doesn't affect the insides of textures
+# (which is especially noticeable with transparent textures).
+# Visible spaces appear between nodes when shaders are disabled.
+# If set to 0, MSAA is disabled.
+# A restart is required after changing this option.
# type: enum values: 0, 1, 2, 4, 8, 16
# fsaa = 0
-# Undersampling is similar to using lower screen resolution, but it applies
+# Undersampling is similar to using a 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
+# It should give a significant performance boost at the cost of less detailed image.
+# Higher values result in a less detailed image.
+# type: int min: 1 max: 8
+# undersampling = 1
### Shaders
-# Shaders allow advanced visual effects and may increase performance on some video cards.
+# 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
#### Tone Mapping
-# Enables filmic tone mapping
+# Enables Hable's 'Uncharted 2' filmic tone mapping.
+# Simulates the tone curve of photographic film and how this approximates the
+# appearance of high dynamic range images. Mid-range contrast is slightly
+# enhanced, highlights and shadows are gradually compressed.
# type: bool
# tone_mapping = false
-#### Bumpmapping
+#### Waving Nodes
-# Enables bumpmapping for textures. Normalmaps need to be supplied by the texture pack
-# or need to be auto-generated.
+# Set to true to enable waving liquids (like water).
# Requires shaders to be enabled.
# type: bool
-# enable_bumpmapping = false
+# enable_waving_water = false
-# Enables on the fly normalmap generation (Emboss effect).
-# Requires bumpmapping to be enabled.
-# type: bool
-# generate_normalmaps = false
+# The maximum height of the surface of waving liquids.
+# 4.0 = Wave height is two nodes.
+# 0.0 = Wave doesn't move at all.
+# Default is 1.0 (1/2 node).
+# Requires waving liquids to be enabled.
+# type: float min: 0 max: 4
+# water_wave_height = 1.0
-# Strength of generated normalmaps.
-# type: float
-# normalmaps_strength = 0.6
+# Length of liquid waves.
+# Requires waving liquids to be enabled.
+# type: float min: 0.1
+# water_wave_length = 20.0
-# Defines sampling step of texture.
-# A higher value results in smoother normal maps.
-# type: int min: 0 max: 2
-# normalmaps_smooth = 0
+# How fast liquid waves will move. Higher = faster.
+# If negative, liquid waves will move backwards.
+# Requires waving liquids to be enabled.
+# type: float
+# water_wave_speed = 5.0
-#### Parallax Occlusion
+# Set to true to enable waving leaves.
+# Requires shaders to be enabled.
+# type: bool
+# enable_waving_leaves = false
-# Enables parallax occlusion mapping.
+# Set to true to enable waving plants.
# Requires shaders to be enabled.
# type: bool
-# enable_parallax_occlusion = false
+# enable_waving_plants = false
-# 0 = parallax occlusion with slope information (faster).
-# 1 = relief mapping (slower, more accurate).
-# type: int min: 0 max: 1
-# parallax_occlusion_mode = 1
+#### Dynamic shadows
-# Strength of parallax.
-# type: float
-# 3d_paralax_strength = 0.025
+# Set to true to enable Shadow Mapping.
+# Requires shaders to be enabled.
+# type: bool
+# enable_dynamic_shadows = false
-# Number of parallax occlusion iterations.
-# type: int
-# parallax_occlusion_iterations = 4
+# Set the shadow strength gamma.
+# Adjusts the intensity of in-game dynamic shadows.
+# Lower value means lighter shadows, higher value means darker shadows.
+# type: float min: 0.1 max: 10
+# shadow_strength_gamma = 1.0
-# Overall scale of parallax occlusion effect.
-# type: float
-# parallax_occlusion_scale = 0.08
+# Maximum distance to render shadows.
+# type: float min: 10 max: 1000
+# shadow_map_max_distance = 120.0
-# Overall bias of parallax occlusion effect, usually scale/2.
-# type: float
-# parallax_occlusion_bias = 0.04
+# Texture size to render the shadow map on.
+# This must be a power of two.
+# Bigger numbers create better shadows but it is also more expensive.
+# type: int min: 128 max: 8192
+# shadow_map_texture_size = 1024
-#### Waving Nodes
+# Sets shadow texture quality to 32 bits.
+# On false, 16 bits texture will be used.
+# This can cause much more artifacts in the shadow.
+# type: bool
+# shadow_map_texture_32bit = true
-# Set to true enables waving water.
-# Requires shaders to be enabled.
+# Enable Poisson disk filtering.
+# On true uses Poisson disk to make "soft shadows". Otherwise uses PCF filtering.
# type: bool
-# enable_waving_water = false
+# shadow_poisson_filter = true
-# type: float
-# water_wave_height = 1.0
+# Define shadow filtering quality.
+# This simulates the soft shadows effect by applying a PCF or Poisson disk
+# but also uses more resources.
+# type: enum values: 0, 1, 2
+# shadow_filters = 1
-# type: float
-# water_wave_length = 20.0
+# Enable colored shadows.
+# On true translucent nodes cast colored shadows. This is expensive.
+# type: bool
+# shadow_map_color = false
-# type: float
-# water_wave_speed = 5.0
+# Spread a complete update of shadow map over given amount of frames.
+# Higher values might make shadows laggy, lower values
+# will consume more resources.
+# Minimum value: 1; maximum value: 16
+# type: int min: 1 max: 16
+# shadow_update_frames = 8
-# Set to true enables waving leaves.
-# Requires shaders to be enabled.
-# type: bool
-# enable_waving_leaves = false
+# Set the soft shadow radius size.
+# Lower values mean sharper shadows, bigger values mean softer shadows.
+# Minimum value: 1.0; maximum value: 10.0
+# type: float min: 1 max: 10
+# shadow_soft_radius = 1.0
-# Set to true enables waving plants.
-# Requires shaders to be enabled.
-# type: bool
-# enable_waving_plants = false
+# Set the tilt of Sun/Moon orbit in degrees.
+# Value of 0 means no tilt / vertical orbit.
+# Minimum value: 0.0; maximum value: 60.0
+# type: float min: 0 max: 60
+# shadow_sky_body_orbit_tilt = 0.0
### Advanced
# If FPS would go higher than this, limit it by sleeping
# to not waste CPU power for no benefit.
-# type: int
+# type: int min: 1
# fps_max = 60
-# Maximum FPS when game is paused.
-# type: int
-# pause_fps_max = 20
+# Maximum FPS when the window is not focused, or when the game is paused.
+# type: int min: 1
+# fps_max_unfocused = 20
-# Open the pause menu when the window's focus is lost. Does not pause if a formspec is open.
+# 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
# View distance in nodes.
# type: int min: 20 max: 4000
-# viewing_range = 100
+# viewing_range = 190
-# Camera near plane distance in nodes, between 0 and 0.5
-# Most users will not need to change this.
+# Camera 'near clipping plane' distance in nodes, between 0 and 0.25
+# Only works on GLES platforms. 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
+# type: float min: 0 max: 0.25
# near_plane = 0.1
-# Width component of the initial window size.
-# type: int
+# Width component of the initial window size. Ignored in fullscreen mode.
+# type: int min: 1
# screen_w = 1024
-# Height component of the initial window size.
-# type: int
+# Height component of the initial window size. Ignored in fullscreen mode.
+# type: int min: 1
# screen_h = 600
# Save window size automatically when modified.
# 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
# type: int min: 45 max: 160
# fov = 72
-# 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
+# Alters the light curve by applying 'gamma correction' to it.
+# Higher values make middle and lower light levels brighter.
+# Value '1.0' leaves the light curve unaltered.
+# This only has significant effect on daylight and artificial
+# light, it has very little effect on natural night light.
+# type: float min: 0.33 max: 3
# display_gamma = 1.0
# Gradient of light curve at minimum light level.
-# type: float min: 0 max: 4
+# Controls the contrast of the lowest light levels.
+# type: float min: 0 max: 3
# lighting_alpha = 0.0
# Gradient of light curve at maximum light level.
-# type: float min: 0 max: 4
+# Controls the contrast of the highest light levels.
+# type: float min: 0 max: 3
# lighting_beta = 1.5
-# Strength of light curve mid-boost.
-# type: float min: 0 max: 1
+# Strength of light curve boost.
+# The 3 'boost' parameters define a range of the light
+# curve that is boosted in brightness.
+# type: float min: 0 max: 0.4
# lighting_boost = 0.2
-# Center of light curve mid-boost.
+# Center of light curve boost range.
+# Where 0.0 is minimum light level, 1.0 is maximum light level.
# type: float min: 0 max: 1
# lighting_boost_center = 0.5
-# Spread of light curve mid-boost.
-# Standard deviation of the mid-boost gaussian.
-# type: float min: 0 max: 1
+# Spread of light curve boost range.
+# Controls the width of the range to be boosted.
+# Standard deviation of the light curve boost Gaussian.
+# type: float min: 0 max: 0.4
# lighting_boost_spread = 0.2
# Path to texture directory. All textures are first searched from here.
# type: path
# texture_path =
-# The rendering back-end for Irrlicht.
+# The rendering back-end.
# A restart is required after changing this.
-# Note: on Android, stick with OGLES1 if unsure! App may fail to start otherwise.
-# On other platforms, OpenGL is recommended, and it’s the only driver with
-# shader support currently.
-# type: enum values: null, software, burningsvideo, direct3d8, direct3d9, opengl, ogles1, ogles2
+# Note: On Android, stick with OGLES1 if unsure! App may fail to start otherwise.
+# On other platforms, OpenGL is recommended.
+# Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental)
+# type: enum values: opengl, ogles1, ogles2
# video_driver = opengl
# Radius of cloud area stated in number of 64 node cloud squares.
# 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
+# fall_bobbing_amount = 0.03
# 3D support.
# Currently supported:
# type: enum values: none, anaglyph, interlaced, topbottom, sidebyside, crossview, pageflip
# 3d_mode = none
+# Strength of 3D mode parallax.
+# type: float
+# 3d_paralax_strength = 0.025
+
# In-game chat console height, between 0.1 (10%) and 1.0 (100%).
# type: float min: 0.1 max: 1
# console_height = 0.6
# type: string
# selectionbox_color = (0,0,0)
-# Width of the selectionbox's lines around nodes.
+# Width of the selection box lines around nodes.
# type: int min: 1 max: 5
# selectionbox_width = 2
# Crosshair color (R,G,B).
+# Also controls the object crosshair color
# type: string
# crosshair_color = (255,255,255)
# Crosshair alpha (opaqueness, between 0 and 255).
+# This also applies to the object crosshair.
# type: int min: 0 max: 255
# crosshair_alpha = 255
# type: float
# hud_hotbar_max_width = 1.0
-# Modifies the size of the hudbar elements.
+# Modifies the size of the HUD elements.
# type: float
# hud_scaling = 1.0
# True = 256
# False = 128
-# Useable to make minimap smoother on slower machines.
+# Usable to make minimap smoother on slower machines.
# type: bool
# minimap_double_scan_height = true
# 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!
+# Warning: This option is EXPERIMENTAL!
# type: enum values: disable, enable, force
# autoscale_mode = disable
# Show entity selection boxes
+# A restart is required after changing this.
# type: bool
-# show_entity_selectionbox = true
+# show_entity_selectionbox = false
+
+# Distance in nodes at which transparency depth sorting is enabled
+# Use this to limit the performance impact of transparency depth sorting
+# type: int min: 0 max: 128
+# transparency_sorting_distance = 16
## Menus
# type: bool
# menu_clouds = true
-# Scale gui by a user specified value.
+# 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
+# type: float min: 0.001
# gui_scaling = 1.0
# When gui_scaling_filter is true, all GUI images need to be
# 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
+# font_bold = false
-# type: int
-# font_size = 16
+# type: bool
+# font_italic = false
-# Font shadow offset, if 0 then shadow will not be drawn.
+# Shadow offset (in pixels) of the default font. If 0, then shadow will not be drawn.
# type: int
# font_shadow = 1
-# Font shadow alpha (opaqueness, between 0 and 255).
+# Opaqueness (alpha) of the shadow behind the default font, between 0 and 255.
# type: int min: 0 max: 255
# font_shadow_alpha = 127
+# Font size of the default font where 1 unit = 1 pixel at 96 DPI
+# type: int min: 1
+# font_size = 16
+
+# For pixel-style fonts that do not scale well, this ensures that font sizes used
+# with this font will always be divisible by this value, in pixels. For instance,
+# a pixel font 16 pixels tall should have this set to 16, so it will only ever be
+# sized 16, 32, 48, etc., so a mod requesting a size of 25 will get 32.
+# type: int min: 1
+# font_size_divisible_by = 1
+
+# Path to the default font. Must be a TrueType font.
+# The fallback font will be used if the font cannot be loaded.
# type: filepath
-# mono_font_path = fonts/liberationmono.ttf
+# font_path = fonts/Arimo-Regular.ttf
-# type: int
-# mono_font_size = 15
+# type: filepath
+# font_path_bold = fonts/Arimo-Bold.ttf
-# This font will be used for certain languages.
# type: filepath
-# fallback_font_path = fonts/DroidSansFallbackFull.ttf
+# font_path_italic = fonts/Arimo-Italic.ttf
-# type: int
-# fallback_font_size = 15
+# type: filepath
+# font_path_bold_italic = fonts/Arimo-BoldItalic.ttf
-# type: int
-# fallback_font_shadow = 1
+# Font size of the monospace font where 1 unit = 1 pixel at 96 DPI
+# type: int min: 1
+# mono_font_size = 16
-# type: int min: 0 max: 255
-# fallback_font_shadow_alpha = 128
+# For pixel-style fonts that do not scale well, this ensures that font sizes used
+# with this font will always be divisible by this value, in pixels. For instance,
+# a pixel font 16 pixels tall should have this set to 16, so it will only ever be
+# sized 16, 32, 48, etc., so a mod requesting a size of 25 will get 32.
+# type: int min: 1
+# mono_font_size_divisible_by = 1
+
+# Path to the monospace font. Must be a TrueType font.
+# This font is used for e.g. the console and profiler screen.
+# type: filepath
+# mono_font_path = fonts/Cousine-Regular.ttf
+
+# type: filepath
+# mono_font_path_bold = fonts/Cousine-Bold.ttf
+
+# type: filepath
+# mono_font_path_italic = fonts/Cousine-Italic.ttf
+
+# type: filepath
+# mono_font_path_bold_italic = fonts/Cousine-BoldItalic.ttf
+
+# Path of the fallback font. Must be a TrueType font.
+# This font will be used for certain languages or if the default font is unavailable.
+# type: filepath
+# fallback_font_path = fonts/DroidSansFallbackFull.ttf
+
+# Font size of the recent chat text and chat prompt in point (pt).
+# Value 0 will use the default font size.
+# type: int
+# chat_font_size = 0
-# Path to save screenshots at.
+# Path to save screenshots at. Can be an absolute or relative path.
+# The folder will be created if it doesn't already exist.
# type: path
-# screenshot_path =
+# screenshot_path = screenshots
# Format of screenshots.
-# type: enum values: png, jpg, bmp, pcx, ppm, tga
+# type: enum values: png, jpg
# screenshot_format = png
# Screenshot quality. Only used for JPEG format.
## Advanced
# Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens.
-# type: int
+# type: int min: 1
# screen_dpi = 72
+# Adjust the detected display density, used for scaling UI elements.
+# type: float
+# display_density_factor = 1
+
# 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
# Sound
#
+# Enables the sound system.
+# If disabled, this completely disables all sounds everywhere and the in-game
+# sound controls will be non-functional.
+# Changing this setting requires a restart.
# type: bool
# enable_sound = true
+# Volume of all sounds.
+# Requires the sound system to be enabled.
# type: float min: 0 max: 1
# sound_volume = 0.7
+# Whether to mute sounds. You can unmute sounds at any time, unless the
+# sound system is disabled (enable_sound=false).
+# In-game, you can toggle the mute state with the mute key or by using the
+# pause menu.
# type: bool
# mute_sound = false
# Client
#
+# Clickable weblinks (middle-click or Ctrl+left-click) enabled in chat console output.
+# type: bool
+# clickable_chat_weblinks = false
+
+# Optional override for chat weblink color.
+# type: string
+# chat_weblink_color =
+
## Network
# Address to connect to.
# type: int min: 1 max: 65535
# remote_port = 30000
+# Prometheus listener address.
+# If Minetest is compiled with ENABLE_PROMETHEUS option enabled,
+# enable metrics listener for Prometheus on that address.
+# Metrics can be fetched on http://127.0.0.1:30000/metrics
+# type: string
+# prometheus_listener_address = 127.0.0.1:30000
+
# Save the map received by the client on disk.
# type: bool
# enable_local_map_saving = false
# type: string
# serverlist_url = servers.minetest.net
-# File in client/serverlist/ that contains your favorite servers displayed in the Multiplayer Tab.
+# File in client/serverlist/ that contains your favorite servers displayed in the
+# Multiplayer Tab.
# type: string
-# serverlist_file = favoriteservers.txt
+# serverlist_file = favoriteservers.json
-# Maximum size of the out chat queue. 0 to disable queueing and -1 to make the queue size unlimited
+# 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
+# Enable register confirmation when connecting to server.
+# If disabled, new account will be registered automatically.
+# type: bool
+# enable_register_confirmation = true
+
## Advanced
# Timeout for client to remove unused map data from memory.
# Maximum number of mapblocks for client to be kept in memory.
# Set to -1 for unlimited amount.
# type: int
-# client_mapblock_limit = 5000
+# client_mapblock_limit = 7500
# Whether to show the client debug info (has the same effect as hitting F5).
# type: bool
# Homepage of server, to be displayed in the serverlist.
# type: string
-# server_url = http://minetest.net
+# server_url = https://minetest.net
-# Automaticaly report to the serverlist.
+# Automatically report to the serverlist.
# type: bool
# server_announce = false
# Enable/disable running an IPv6 server.
# Ignored if bind_address is set.
+# Needs enable_ipv6 to be enabled.
# type: bool
# ipv6_server = false
# type: int
# max_packets_per_iteration = 1024
+# Compression level to use when sending mapblocks to the client.
+# -1 - use default compression level
+# 0 - least compression, fastest
+# 9 - best compression, slowest
+# type: int min: -1 max: 9
+# map_compression_level_net = -1
+
## Game
# Default game when creating a new world.
# type: string
# motd =
-# Maximum number of players that can connect simultaneously.
+# Maximum number of players that can be connected simultaneously.
# type: int
# max_users = 15
# type: int
# item_entity_ttl = 900
+# Specifies the default stack size of nodes, items and tools.
+# Note that mods or games may explicitly set a stack for certain (or all) items.
+# type: int
+# default_stack_max = 99
+
# Enable players getting damage and dying.
# type: bool
# enable_damage = false
-# Enable creative mode for new created maps.
+# Enable creative mode for all players
# type: bool
# creative_mode = false
# type: bool
# enable_rollback_recording = false
+# Format of player chat messages. The following strings are valid placeholders:
+# @name, @message, @timestamp (optional)
+# type: string
+# chat_message_format = <@name> @message
+
+# If the execution of a chat command takes longer than this specified time in
+# seconds, add the time information to the chat command message
+# type: float
+# chatcommand_msg_time_threshold = 0.1
+
# A message to be displayed to all clients when the server shuts down.
# type: string
# kick_msg_shutdown = Server shutting down.
# ask_reconnect_on_crash = false
# From how far clients know about objects, stated in mapblocks (16 nodes).
-#
+#
# Setting this larger than active_block_range will also cause the server
# to maintain active objects up to this distance in the direction the
# player is looking. (This can avoid mobs suddenly disappearing from view)
# type: int
-# active_object_send_range_blocks = 3
+# active_object_send_range_blocks = 8
-# How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
+# The radius of the volume of blocks around every player that is subject to the
+# active block stuff, stated in mapblocks (16 nodes).
# In active blocks objects are loaded and ABMs run.
# This is also the minimum range in which active objects (mobs) are maintained.
-# This should be configured together with active_object_range.
+# This should be configured together with active_object_send_range_blocks.
# type: int
-# active_block_range = 3
+# active_block_range = 4
# From how far blocks are sent to clients, stated in mapblocks (16 nodes).
# type: int
-# max_block_send_distance = 9
+# max_block_send_distance = 12
# Maximum number of forceloaded mapblocks.
# 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.
+# 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
+# world_start_time = 6125
# Interval of saving important changes in the world, stated in seconds.
# type: float
### Physics
+# Horizontal and vertical acceleration on ground or when climbing,
+# in nodes per second per second.
# type: float
# movement_acceleration_default = 3
+# Horizontal acceleration in air when jumping or falling,
+# in nodes per second per second.
# type: float
# movement_acceleration_air = 2
+# Horizontal and vertical acceleration in fast mode,
+# in nodes per second per second.
# type: float
# movement_acceleration_fast = 10
+# Walking and flying speed, in nodes per second.
# type: float
# movement_speed_walk = 4
+# Sneaking speed, in nodes per second.
# type: float
# movement_speed_crouch = 1.35
+# Walking, flying and climbing speed in fast mode, in nodes per second.
# type: float
# movement_speed_fast = 20
+# Vertical climbing speed, in nodes per second.
# type: float
# movement_speed_climb = 3
+# Initial vertical speed when jumping, in nodes per second.
# type: float
# movement_speed_jump = 6.5
+# Decrease this to increase liquid resistance to movement.
# type: float
# movement_liquid_fluidity = 1
+# Maximum liquid resistance. Controls deceleration when entering liquid at
+# high speed.
# type: float
# movement_liquid_fluidity_smooth = 0.5
+# Controls sinking speed in liquid.
# type: float
# movement_liquid_sink = 10
+# Acceleration of gravity, in nodes per second per second.
# 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).
+# Handling for deprecated Lua API calls:
+# - none: Do not log deprecated calls
+# - log: mimic and log backtrace of deprecated call (default).
# - error: abort on usage of deprecated call (suggested for mod developers).
-# type: enum values: legacy, log, error
-# deprecated_lua_api_handling = legacy
+# type: enum values: none, log, error
+# deprecated_lua_api_handling = log
# Number of extra blocks that can be loaded by /clearobjects at once.
-# This is a trade-off between sqlite transaction overhead and
+# 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
# Maximum number of statically stored objects in a block.
# type: int
-# max_objects_per_block = 64
+# max_objects_per_block = 256
-# See http://www.sqlite.org/pragma.html#pragma_synchronous
+# See https://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.
+# Compression level to use when saving mapblocks to disk.
+# -1 - use default compression level
+# 0 - least compression, fastest
+# 9 - best compression, slowest
+# type: int min: -1 max: 9
+# map_compression_level_disk = -1
+
+# 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
+# Length of time between active block management cycles
# type: float
# active_block_mgmt_interval = 2.0
-# Length of time between ABM execution cycles
+# Length of time between Active Block Modifier (ABM) execution cycles
# type: float
# abm_interval = 1.0
+# The time budget allowed for ABMs to execute on each step
+# (as a fraction of the ABM Interval)
+# type: float min: 0.1 max: 0.9
+# abm_time_budget = 0.2
+
# Length of time between NodeTimer execution cycles
# type: float
# nodetimer_interval = 0.2
# 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)
+# 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
# type: bool
# server_side_occlusion_culling = true
-# Restricts the access of certain client-side functions on servers
-# Combine these byteflags below to restrict client-side features:
-# LOAD_CLIENT_MODS: 1 (disable client mods loading)
+# Restricts the access of certain client-side functions on servers.
+# Combine the byteflags below to restrict client-side features, or set to 0
+# for no restrictions:
+# LOAD_CLIENT_MODS: 1 (disable loading client-provided mods)
# 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)
-# LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to csm_restriction_noderange)
+# LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to
+# csm_restriction_noderange)
+# READ_PLAYERINFO: 32 (disable get_player_names call client-side)
# type: int
-# csm_restriction_flags = 30
+# csm_restriction_flags = 62
# If the CSM restriction for node range is enabled, get_node calls are limited
# to this distance from the player to the node.
# type: bool
# instrument.lbm = true
-# Instrument chatcommands on registration.
+# Instrument chat commands on registration.
# type: bool
# instrument.chatcommand = true
# 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, dv, en, eo, es, et, fr, he, hu, id, it, ja, jbo, ko, ky, lt, ms, nb, nl, pl, pt, pt_BR, ro, ru, sl, sr_Cyrl, sv, sw, tr, uk, zh_CN, zh_TW
+# type: enum values: , be, bg, ca, cs, da, de, el, en, eo, es, et, eu, fi, fr, gd, gl, hu, id, it, ja, jbo, kk, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt_BR, ro, ru, sk, sl, sr_Cyrl, sr_Latn, sv, sw, tr, uk, vi, zh_CN, zh_TW
# language =
# Level of logging to be written to debug.txt:
# type: enum values: , none, error, warning, action, info, verbose
# debug_log_level = action
-# IPv6 support.
+# If the file size of debug.txt exceeds the number of megabytes specified in
+# this setting when it is opened, the file is moved to debug.txt.1,
+# deleting an older debug.txt.1 if it exists.
+# debug.txt is only moved if this setting is positive.
+# type: int
+# debug_log_size_max = 50
+
+# Minimal level of logging to be written to chat.
+# type: enum values: , none, error, warning, action, info, verbose
+# chat_log_level = error
+
+# Enable IPv6 support (for both client and server).
+# Required for IPv6 connections to work at all.
# type: bool
# enable_ipv6 = true
## Advanced
-# Default timeout for cURL, stated in milliseconds.
-# Only has an effect if compiled with cURL.
+# Maximum time an interactive request (e.g. server list fetch) may take, stated in milliseconds.
# type: int
-# curl_timeout = 5000
+# curl_timeout = 20000
# Limits number of parallel HTTP requests. Affects:
# - Media fetch if server uses remote_media setting.
# type: int
# curl_parallel_limit = 8
-# Maximum time in ms a file download (e.g. a mod download) may take.
+# Maximum time a file download (e.g. a mod download) may take, stated in milliseconds.
# type: int
# curl_file_download_timeout = 300000
-# Makes DirectX work with LuaJIT. Disable if it causes troubles.
-# type: bool
-# high_precision_fpu = true
-
-# Changes the main menu UI:
-# - Full: Multple singleplayer worlds, game choice, texture pack chooser, etc.
-# - Simple: One singleplayer world, no game or texture pack choosers. May be necessary for smaller screens.
-# - Auto: Simple on Android, full on everything else.
-# type: enum values: auto, full, simple
-# main_menu_style = auto
-
# 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.
+# Print the engine's profiling data in regular intervals (in seconds).
+# 0 = disable. Useful for developers.
# type: int
# profiler_print_interval = 0
# 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
+# Current mapgens in a highly unstable state:
+# - The optional floatlands of v7 (disabled by default).
+# type: enum values: v7, valleys, carpathian, v5, flat, fractal, singlenode, v6
# mg_name = v7
# Water surface level of the world.
# From how far blocks are generated for clients, stated in mapblocks (16 nodes).
# type: int
-# max_block_generate_distance = 6
+# max_block_generate_distance = 10
# 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
+# type: int min: 0 max: 31007
+# mapgen_limit = 31007
# 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, biomes, nocaves, nodungeons, nolight, nodecorations, nobiomes
-# mg_flags = caves,dungeons,light,decorations,biomes
-
-# Whether dungeons occasionally project from the terrain.
-# type: bool
-# projecting_dungeons = true
+# and jungle grass, in all other mapgens this flag controls all decorations.
+# type: flags possible values: caves, dungeons, light, decorations, biomes, ores, nocaves, nodungeons, nolight, nodecorations, nobiomes, noores
+# mg_flags = caves,dungeons,light,decorations,biomes,ores
## Biome API temperature and humidity noise parameters
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Small-scale temperature variation for blending biomes on borders.
# octaves = 2,
# persistence = 1.0,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Humidity variation for biomes.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Small-scale humidity variation for blending biomes on borders.
# octaves = 2,
# persistence = 1.0,
# lacunarity = 2.0,
-# flags = "eased"
+# 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.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgv5_cave_width = 0.09
# type: int
# mgv5_large_cave_depth = -256
-# Y of upper limit of lava in large caves.
-# type: int
-# mgv5_lava_depth = -256
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv5_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv5_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv5_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv5_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgv5_large_cave_flooded = 0.5
# Y-level of cavern upper limit.
# type: int
# octaves = 4,
# persistence = 0.7,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Variation of terrain vertical scale.
# octaves = 3,
# persistence = 0.45,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Y-level of average terrain surface.
# octaves = 4,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# First of 2 3D noises that together define tunnels.
+# First of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgv5_np_cave1 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# Second of 2 3D noises that together define tunnels.
+# Second of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgv5_np_cave2 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
# 3D noise defining giant caverns.
# octaves = 5,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
# 3D noise defining terrain.
# octaves = 4,
# persistence = 0.55,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
+# }
+
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgv5_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
# }
## 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
+# When the 'snowbiomes' flag 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
+# mgv6_spflags = jungles,biomeblend,mudflow,snowbiomes,noflat,trees
# Deserts occur when np_biome exceeds this value.
-# When the new biome system is enabled, this is ignored.
+# When the 'snowbiomes' flag is enabled, this is ignored.
# type: float
# mgv6_freq_desert = 0.45
### Noises
-# Y-level of lower terrain and lakebeds.
+# Y-level of lower terrain and seabed.
# type: noise_params_2d
# mgv6_np_terrain_base = {
# offset = -4,
# octaves = 5,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# Y-level of higher (cliff-top) terrain.
+# Y-level of higher terrain that creates cliffs.
# type: noise_params_2d
# mgv6_np_terrain_higher = {
# offset = 20,
# octaves = 5,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Varies steepness of cliffs.
# octaves = 5,
# persistence = 0.7,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# Defines areas of 'terrain_higher' (cliff-top terrain).
+# Defines distribution of higher terrain.
# type: noise_params_2d
# mgv6_np_height_select = {
# offset = 0.5,
# octaves = 5,
# persistence = 0.69,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Varies depth of biome surface nodes.
# octaves = 3,
# persistence = 0.55,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Defines areas with sandy beaches.
# octaves = 3,
# persistence = 0.50,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Temperature variation for biomes.
# octaves = 3,
# persistence = 0.50,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Variation of number of caves.
# octaves = 3,
# persistence = 0.50,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Humidity variation for biomes.
# octaves = 3,
# persistence = 0.50,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Defines tree areas and tree density.
# octaves = 4,
# persistence = 0.66,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Defines areas where trees have apples.
# octaves = 3,
# persistence = 0.45,
# lacunarity = 2.0,
-# flags = "eased"
+# 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.
+# 'ridges': Rivers.
+# 'floatlands': Floating land masses in the atmosphere.
+# 'caverns': Giant caves deep underground.
# type: flags possible values: mountains, ridges, floatlands, caverns, nomountains, noridges, nofloatlands, nocaverns
# mgv7_spflags = mountains,ridges,nofloatlands,caverns
# type: int
# mgv7_mount_zero_level = 0
-# Controls width of tunnels, a smaller value creates wider tunnels.
-# type: float
-# mgv7_cave_width = 0.09
+# Lower Y limit of floatlands.
+# type: int
+# mgv7_floatland_ymin = 1024
-# Y of upper limit of large caves.
+# Upper Y limit of floatlands.
# type: int
-# mgv7_large_cave_depth = -33
+# mgv7_floatland_ymax = 4096
-# Y of upper limit of lava in large caves.
+# Y-distance over which floatlands taper from full density to nothing.
+# Tapering starts at this distance from the Y limit.
+# For a solid floatland layer, this controls the height of hills/mountains.
+# Must be less than or equal to half the distance between the Y limits.
# type: int
-# mgv7_lava_depth = -256
+# mgv7_floatland_taper = 256
-# Controls the density of mountain-type floatlands.
-# Is a noise offset added to the 'mgv7_np_mountain' noise value.
+# Exponent of the floatland tapering. Alters the tapering behaviour.
+# Value = 1.0 creates a uniform, linear tapering.
+# Values > 1.0 create a smooth tapering suitable for the default separated
+# floatlands.
+# Values < 1.0 (for example 0.25) create a more defined surface level with
+# flatter lowlands, suitable for a solid floatland layer.
# type: float
-# mgv7_float_mount_density = 0.6
+# mgv7_float_taper_exp = 2.0
-# Typical maximum height, above and below midpoint, of floatland mountains.
+# Adjusts the density of the floatland layer.
+# Increase value to increase density. Can be positive or negative.
+# Value = 0.0: 50% of volume is floatland.
+# Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test
+# to be sure) creates a solid floatland layer.
# type: float
-# mgv7_float_mount_height = 128.0
+# mgv7_floatland_density = -0.6
-# Alters how mountain-type floatlands taper above and below midpoint.
+# Surface level of optional water placed on a solid floatland layer.
+# Water is disabled by default and will only be placed if this value is set
+# to above 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (the start of the
+# upper tapering).
+# ***WARNING, POTENTIAL DANGER TO WORLDS AND SERVER PERFORMANCE***:
+# When enabling water placement the floatlands must be configured and tested
+# to be a solid layer by setting 'mgv7_floatland_density' to 2.0 (or other
+# required value depending on 'mgv7_np_floatland'), to avoid
+# server-intensive extreme water flow and to avoid vast flooding of the
+# world surface below.
+# type: int
+# mgv7_floatland_ywater = -31000
+
+# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
-# mgv7_float_mount_exponent = 0.75
+# mgv7_cave_width = 0.09
-# Y-level of floatland midpoint and lake surface.
+# Y of upper limit of large caves.
# type: int
-# mgv7_floatland_level = 1280
+# mgv7_large_cave_depth = -33
-# Y-level to which floatland shadows extend.
-# type: int
-# mgv7_shadow_limit = 1024
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv7_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv7_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv7_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv7_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgv7_large_cave_flooded = 0.5
# Y-level of cavern upper limit.
# type: int
### Noises
-# Y-level of higher (cliff-top) terrain.
+# Y-level of higher terrain that creates cliffs.
# type: noise_params_2d
# mgv7_np_terrain_base = {
# offset = 4,
# octaves = 5,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# Y-level of lower terrain and lakebeds.
+# Y-level of lower terrain and seabed.
# type: noise_params_2d
# mgv7_np_terrain_alt = {
# offset = 4,
# octaves = 5,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Varies roughness of terrain.
# octaves = 3,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# Defines areas of higher (cliff-top) terrain and affects steepness of cliffs.
+# Defines distribution of higher terrain and steepness of cliffs.
# type: noise_params_2d
# mgv7_np_height_select = {
# offset = -8,
# octaves = 6,
# persistence = 0.7,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Variation of biome filler depth.
# octaves = 3,
# persistence = 0.7,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Variation of maximum mountain height (in nodes).
# octaves = 3,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Defines large-scale river channel structure.
# 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"
+# flags = eased
# }
# 3D noise defining mountain structure and height.
# octaves = 5,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
# 3D noise defining structure of river canyon walls.
# octaves = 4,
# persistence = 0.75,
# lacunarity = 2.0,
-# flags = ""
+# flags =
+# }
+
+# 3D noise defining structure of floatlands.
+# If altered from the default, the noise 'scale' (0.7 by default) may need
+# to be adjusted, as floatland tapering functions best when this noise has
+# a value range of approximately -2.0 to 2.0.
+# type: noise_params_3d
+# mgv7_np_floatland = {
+# offset = 0,
+# scale = 0.7,
+# spread = (384, 96, 384),
+# seed = 1009,
+# octaves = 4,
+# persistence = 0.75,
+# lacunarity = 1.618,
+# flags =
# }
# 3D noise defining giant caverns.
# octaves = 5,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# First of 2 3D noises that together define tunnels.
+# First of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgv7_np_cave1 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# Second of 2 3D noises that together define tunnels.
+# Second of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgv7_np_cave2 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
+# }
+
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgv7_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# 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
+# type: flags possible values: caverns, rivers, nocaverns, norivers
+# mgcarpathian_spflags = caverns,norivers
# Defines the base ground level.
# type: float
# mgcarpathian_base_level = 12.0
+# Defines the width of the river channel.
+# type: float
+# mgcarpathian_river_width = 0.05
+
+# Defines the depth of the river channel.
+# type: float
+# mgcarpathian_river_depth = 24.0
+
+# Defines the width of the river valley.
+# type: float
+# mgcarpathian_valley_width = 0.25
+
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgcarpathian_cave_width = 0.09
# type: int
# mgcarpathian_large_cave_depth = -33
-# Y of upper limit of lava in large caves.
-# type: int
-# mgcarpathian_lava_depth = -256
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgcarpathian_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgcarpathian_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgcarpathian_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgcarpathian_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgcarpathian_large_cave_flooded = 0.5
# Y-level of cavern upper limit.
# type: int
# octaves = 3,
# persistence = 0.7,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# First of 4 2D noises that together define hill/mountain range height.
# octaves = 5,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Second of 4 2D noises that together define hill/mountain range height.
# octaves = 5,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Third of 4 2D noises that together define hill/mountain range height.
# octaves = 5,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Fourth of 4 2D noises that together define hill/mountain range height.
# octaves = 5,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# 2D noise that controls the size/occurance of rolling hills.
+# 2D noise that controls the size/occurrence of rolling hills.
# type: noise_params_2d
# mgcarpathian_np_hills_terrain = {
# offset = 1,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# 2D noise that controls the size/occurance of ridged mountain ranges.
+# 2D noise that controls the size/occurrence of ridged mountain ranges.
# type: noise_params_2d
# mgcarpathian_np_ridge_terrain = {
# offset = 1,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# 2D noise that controls the size/occurance of step mountain ranges.
+# 2D noise that controls the size/occurrence of step mountain ranges.
# type: noise_params_2d
# mgcarpathian_np_step_terrain = {
# offset = 1,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# 2D noise that controls the shape/size of rolling hills.
# octaves = 6,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# 2D noise that controls the shape/size of ridged mountains.
# octaves = 6,
# persistence = 0.7,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# 2D noise that controls the shape/size of step mountains.
# octaves = 6,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
+# }
+
+# 2D noise that locates the river valleys and channels.
+# type: noise_params_2d
+# mgcarpathian_np_rivers = {
+# offset = 0,
+# scale = 1,
+# spread = (1000, 1000, 1000),
+# seed = 85039,
+# octaves = 5,
+# persistence = 0.6,
+# lacunarity = 2.0,
+# flags = eased
# }
# 3D noise for mountain overhangs, cliffs, etc. Usually small variations.
# octaves = 5,
# persistence = 0.55,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# First of 2 3D noises that together define tunnels.
+# First of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgcarpathian_np_cave1 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# Second of 2 3D noises that together define tunnels.
+# Second of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgcarpathian_np_cave2 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
# 3D noise defining giant caverns.
# octaves = 5,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags = ""
+# flags =
+# }
+
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgcarpathian_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
# }
## Mapgen Flat
-# Map generation attributes specific to 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
+# type: flags possible values: lakes, hills, caverns, nolakes, nohills, nocaverns
+# mgflat_spflags = nolakes,nohills,nocaverns
# Y of flat ground.
# type: int
# type: int
# mgflat_large_cave_depth = -33
-# Y of upper limit of lava in large caves.
-# type: int
-# mgflat_lava_depth = -256
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgflat_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgflat_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgflat_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgflat_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgflat_large_cave_flooded = 0.5
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgflat_cave_width = 0.09
# type: float
# mgflat_hill_steepness = 64.0
+# Y-level of cavern upper limit.
+# type: int
+# mgflat_cavern_limit = -256
+
+# Y-distance over which caverns expand to full size.
+# type: int
+# mgflat_cavern_taper = 256
+
+# Defines full size of caverns, smaller values create larger caverns.
+# type: float
+# mgflat_cavern_threshold = 0.7
+
# Lower Y limit of dungeons.
# type: int
# mgflat_dungeon_ymin = -31000
# octaves = 5,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Variation of biome filler depth.
# octaves = 3,
# persistence = 0.7,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# First of 2 3D noises that together define tunnels.
+# First of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgflat_np_cave1 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# Second of 2 3D noises that together define tunnels.
+# Second of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgflat_np_cave2 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
+# }
+
+# 3D noise defining giant caverns.
+# type: noise_params_3d
+# mgflat_np_cavern = {
+# offset = 0,
+# scale = 1,
+# spread = (384, 128, 384),
+# seed = 723,
+# octaves = 5,
+# persistence = 0.63,
+# lacunarity = 2.0,
+# flags =
+# }
+
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgflat_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
# }
## Mapgen Fractal
+# Map generation attributes specific to Mapgen Fractal.
+# 'terrain' enables the generation of non-fractal terrain:
+# ocean, islands and underground.
+# type: flags possible values: terrain, noterrain
+# mgfractal_spflags = terrain
+
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgfractal_cave_width = 0.09
# type: int
# mgfractal_large_cave_depth = -33
-# Y of upper limit of lava in large caves.
-# type: int
-# mgfractal_lava_depth = -256
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgfractal_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgfractal_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgfractal_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgfractal_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgfractal_large_cave_flooded = 0.5
# Lower Y limit of dungeons.
# type: int
# mgfractal_dungeon_ymax = 31000
# Selects one of 18 fractal types.
-# 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.
+# 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
# type: v3f
# mgfractal_scale = (4096.0, 1024.0, 4096.0)
-# (X,Y,Z) offset of fractal from world centre in units of 'scale'.
-# Can be used to move a desired point to (0, 0): to create a
+# (X,Y,Z) offset of fractal from world center in units of 'scale'.
+# Can be used to move a desired point to (0, 0) to create a
# suitable spawn point, or to allow 'zooming in' on a desired
# point by increasing 'scale'.
-# The default is tuned for a suitable spawn point for mandelbrot
+# The default is tuned for a suitable spawn point for Mandelbrot
# sets with default parameters, it may need altering in other
# situations.
# 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.
+# W coordinate of the generated 3D slice of a 4D fractal.
# Determines which 3D slice of the 4D shape is generated.
# Alters the shape of the fractal.
# Has no effect on 3D fractals.
# octaves = 5,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Variation of biome filler depth.
# octaves = 3,
# persistence = 0.7,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
-# First of 2 3D noises that together define tunnels.
+# First of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgfractal_np_cave1 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# Second of 2 3D noises that together define tunnels.
+# Second of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgfractal_np_cave2 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
+# }
+
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgfractal_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
# }
## Mapgen Valleys
# Map generation attributes specific to Mapgen Valleys.
# 'altitude_chill': Reduces heat with altitude.
-# 'humid_rivers': Increases humidity around rivers and where water pools.
+# 'humid_rivers': Increases humidity around rivers.
# 'vary_river_depth': If enabled, low humidity and high heat causes rivers
# to become shallower and occasionally dry.
# 'altitude_dry': Reduces humidity with altitude.
-# type: flags possible values: altitude_chill, noaltitude_chill, humid_rivers, nohumid_rivers, vary_river_depth, novary_river_depth, altitude_dry, noaltitude_dry
+# type: flags possible values: altitude_chill, humid_rivers, vary_river_depth, altitude_dry, noaltitude_chill, nohumid_rivers, novary_river_depth, noaltitude_dry
# mgvalleys_spflags = altitude_chill,humid_rivers,vary_river_depth,altitude_dry
# The vertical distance over which heat drops by 20 if 'altitude_chill' is
# type: int
# mgvalleys_large_cave_depth = -33
-# Y of upper limit of lava in large caves.
-# type: int
-# mgvalleys_lava_depth = 1
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgvalleys_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgvalleys_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgvalleys_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgvalleys_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgvalleys_large_cave_flooded = 0.5
# Depth below which you'll find giant caverns.
# type: int
# mgvalleys_river_size = 5
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgvalleys_cave_width = 0.09
### Noises
-# Caves and tunnels form at the intersection of the two noises.
+# First of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgvalleys_np_cave1 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# Caves and tunnels form at the intersection of the two noises.
+# Second of two 3D noises that together define tunnels.
# type: noise_params_3d
# mgvalleys_np_cave2 = {
# offset = 0,
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
# The depth of dirt or other biome filler node.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# 3D noise defining giant caverns.
# octaves = 6,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
-# River noise. Rivers occur close to noise value zero.
+# Defines large-scale river channel structure.
# type: noise_params_2d
# mgvalleys_np_rivers = {
# offset = 0,
# octaves = 5,
# persistence = 0.6,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Base terrain height.
# octaves = 6,
# persistence = 0.4,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Raises terrain to make valleys around the rivers.
# octaves = 1,
# persistence = 1.0,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Slope and fill work together to modify the heights.
# octaves = 6,
# persistence = 0.8,
# lacunarity = 2.0,
-# flags = ""
+# flags =
# }
# Amplifies the valleys.
# octaves = 1,
# persistence = 1.0,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
# }
# Slope and fill work together to modify the heights.
# octaves = 1,
# persistence = 1.0,
# lacunarity = 2.0,
-# flags = "eased"
+# flags = eased
+# }
+
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgvalleys_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
# }
## Advanced
-# Size of chunks to be generated at once by mapgen, stated in mapblocks (16 nodes).
-# Increasing this by 1 almost doubles the 3D noise calculation load.
-# High values can cause noise calculation to overload.
-# Values smaller than 5 cause a terrain bug in mgv6.
-# Since there is a fixed number of large caves and dungeons per
-# mapchunk, values other than 5 alter the density of these.
+# Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).
+# WARNING!: There is no benefit, and there are several dangers, in
+# increasing this value above 5.
+# Reducing this value increases cave and dungeon density.
+# Altering this value is for special usage, leaving it unchanged is
+# recommended.
# type: int
# chunksize = 5
-# Dump the mapgen debug infos.
+# Dump the mapgen debug information.
# type: bool
# enable_mapgen_debug_info = false
# Maximum number of blocks that can be queued for loading.
-# type: int
-# emergequeue_limit_total = 512
+# type: int min: 1 max: 1000000
+# emergequeue_limit_total = 1024
# 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 = 64
+# This limit is enforced per player.
+# type: int min: 1 max: 1000000
+# emergequeue_limit_diskonly = 128
# 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 = 64
+# This limit is enforced per player.
+# type: int min: 1 max: 1000000
+# emergequeue_limit_generate = 128
+
+# Number of emerge threads to use.
+# Value 0:
+# - Automatic selection. The number of emerge threads will be
+# - 'number of processors - 2', with a lower limit of 1.
+# Any other value:
+# - Specifies the number of emerge threads, with a lower limit of 1.
+# WARNING: Increasing the number of emerge threads increases engine mapgen
+# speed, but this may harm game performance by interfering with other
+# processes, especially in singleplayer and/or when running Lua code in
+# 'on_generated'. For many users the optimum setting may be '1'.
+# type: int
+# num_emerge_threads = 1
+
+#
+# Online Content Repository
+#
+
+# The URL for the content repository
+# type: string
+# contentdb_url = https://content.minetest.net
+
+# Comma-separated list of flags to hide in the content repository.
+# "nonfree" can be used to hide packages which do not qualify as 'free software',
+# as defined by the Free Software Foundation.
+# You can also specify content ratings.
+# These flags are independent from Minetest versions,
+# so see a full list at https://content.minetest.net/help/content_flags/
+# type: string
+# contentdb_flag_blacklist = nonfree, desktop_default
-# Number of emerge threads to use. Make this field blank or 0, or increase this number
-# to use multiple threads. On multiprocessor systems, this will improve mapgen speed greatly
-# at the cost of slightly buggy caves.
+# Maximum number of concurrent downloads. Downloads exceeding this limit will be queued.
+# This should be lower than curl_parallel_limit.
# type: int
-# num_emerge_threads = 0
+# contentdb_max_concurrent_downloads = 3