_version = 1
# Show the lod button in the options screen next to fov
optionsButton = true

[Client]

	#These settings control how the mod will look in game
	[Client.Graphics]

		#These settings control how detailed the fake chunks will be.
		[Client.Graphics.Quality]
			#
			#
			# This indicates how detailed fake chunks will represent 
			# overhangs, caves, floating islands, ect. 
			# Higher options will make the world more accurate, but will increase memory and GPU usage. 
			#
			# LOW: uses at max 2 columns per position. 
			# MEDIUM: uses at max 4 columns per position. 
			# HIGH: uses at max 8 columns per position. 
			#
			# Lowest Quality: LOW Highest Quality: HIGH
			#Allowed Values: LOW, MEDIUM, HIGH
			"Vertical Quality" = "MEDIUM"
			#
			#
			# This indicates how quickly fake chunks decrease in quality the further away they are. 
			# Higher settings will render higher quality fake chunks farther away, 
			# but will increase memory and GPU usage. 
			#
			# LOW: quality drops every 4 chunks. 
			# MEDIUM: quality drops every 8 chunks. 
			# HIGH: quality drops every 16 chunks. 
			#
			# Lowest Quality: LOW Highest Quality: HIGH
			#Allowed Values: LOW, MEDIUM, HIGH
			"Horizontal Scale" = "MEDIUM"
			#
			#
			# This indicates the exponential base of the quadratic drop-off 
			#
			# LOWEST: base 1.0. 
			# LOW: base 1.5. 
			# MEDIUM: base 2.0. 
			# HIGH: base 2.200000047683716. 
			#
			# Lowest Quality: LOWEST Highest Quality: HIGH
			#Allowed Values: LOWEST, LOW, MEDIUM, HIGH
			"Horizontal Quality" = "MEDIUM"
			#
			#
			# What is the maximum detail fake chunks should be drawn at? 
			# Higher settings will increase memory and GPU usage. 
			#
			# CHUNK: render 1 LOD for each Chunk. 
			# HALF_CHUNK: render 4 LODs for each Chunk. 
			# FOUR_BLOCKS: render 16 LODs for each Chunk. 
			# TWO_BLOCKS: render 64 LODs for each Chunk. 
			# BLOCK: render 256 LODs for each Chunk (width of one block). 
			#
			# Lowest Quality: CHUNK Highest Quality: BLOCK
			#Allowed Values: BLOCK, TWO_BLOCKS, FOUR_BLOCKS, HALF_CHUNK, CHUNK
			"Block size" = "BLOCK"
			#
			#
			# The radius of the mod's render distance. (measured in chunks) 
			#
			#Range: 16 ~ 1024
			"Lod Render Distance" = 64

		#Graphics options that are a bit more technical.
		[Client.Graphics.AdvancedGraphics]
			#
			#
			# How should the LODs be drawn? 
			# NOTE: Currently only CUBIC is implemented! 
			# 
			# CUBIC: LOD Chunks are drawn as rectangular prisms (boxes). 
			# TRIANGULAR: LOD Chunks smoothly transition between other. 
			# DYNAMIC: LOD Chunks smoothly transition between each other, 
			#          unless a neighboring chunk is at a significantly different height. 
			#
			#Allowed Values: CUBIC, TRIANGULAR, DYNAMIC
			"LOD Template" = "CUBIC"
			#
			#
			# If false fake chunks behind the player's camera 
			# aren't drawn, increasing GPU performance. 
			#
			# If true all LODs are drawn, even those behind 
			# the player's camera, decreasing GPU performance. 
			#
			# Disable this if you see LODs disappearing at the corners of your vision. 
			#
			"Disable Directional Culling" = false
			#
			#
			# Disable quality falloff, 
			# all fake chunks will be drawn at the highest 
			# available detail level. 
			#
			# WARNING: 
			# This could cause an Out Of Memory crash when using render 
			# distances higher than 128 and will drastically increase GPU usage. 
			#
			"Always Use Max Quality" = false
			#
			#
			# How often should LODs be drawn on top of regular chunks? 
			# HALF and ALWAYS will prevent holes in the world, but may look odd for transparent blocks or in caves. 
			#
			# NEVER: LODs won't render on top of vanilla chunks. 
			# BORDER: LODs will render only on the border of vanilla chunks preventing only some holes in the world. 
			# DYNAMIC: LODs will render on top of distant vanilla chunks to hide delayed loading. 
			#      More effective on higher render distances. 
			#      For vanilla render distances less than or equal to 4 
			#      NEVER or ALWAYS will be used depending on the dimension. 
			# ALWAYS: LODs will render on all vanilla chunks preventing holes in the world. 
			#
			# This setting shouldn't affect performance. 
			#
			#Allowed Values: NEVER, DYNAMIC, ALWAYS, BORDER
			"Vanilla Overdraw" = "BORDER"
			#
			#
			# Will prevent some overdraw issues, but may cause nearby fake chunks to render incorrectly 
			# especially when in/near an ocean. 
			#
			# This setting shouldn't affect performance. 
			#
			"Use Extended Near Clip Plane" = false

		#These settings control the fog quality.
		[Client.Graphics.FogQuality]
			#
			#
			# At what distance should Fog be drawn on the fake chunks? 
			#
			# This setting shouldn't affect performance.
			#Allowed Values: NEAR, FAR, NEAR_AND_FAR
			"Fog Distance" = "FAR"
			#
			#
			# When should fog be drawn? 
			#
			# USE_OPTIFINE_SETTING: Use whatever Fog setting Optifine is using. If Optifine isn't installed this defaults to FOG_ENABLED. 
			# FOG_ENABLED: Never draw fog on the LODs 
			# FOG_DISABLED: Always draw fast fog on the LODs 
			#
			# Disabling fog will improve GPU performance.
			#Allowed Values: USE_OPTIFINE_SETTING, FOG_ENABLED, FOG_DISABLED
			"Fog Draw Mode" = "FOG_ENABLED"
			#
			#
			# What color should fog use? 
			#
			# USE_WORLD_FOG_COLOR: Use the world's fog color. 
			# USE_SKY_COLOR: Use the sky's color. 
			#
			# This setting doesn't affect performance.
			#Allowed Values: USE_WORLD_FOG_COLOR, USE_SKY_COLOR
			"Fog Color Mode" = "USE_WORLD_FOG_COLOR"
			#
			#
			# If true disable Minecraft's fog. 
			#
			# Experimental! Will cause issues with Sodium and 
			# may not play nice with other mods that edit fog. 
			#
			"Experimental Disable Vanilla Fog" = false

	#These settings control how fake chunks outside your normal view range are generated.
	[Client.Generation]
		#
		#
		# In what order should fake chunks be generated outside the vanilla render distance? 
		#
		# FAR_FIRST 
		# Fake chunks are generated from lowest to highest detail 
		# with a small priority for far away regions. 
		# This fills in the world fastest, but you will have large low detail 
		# blocks for a while while the generation happens. 
		#
		# NEAR_FIRST 
		# Fake chunks are generated around the player 
		# in a spiral, similar to vanilla minecraft. 
		# Best used when on a server since we can't generate 
		# fake chunks. 
		#
		# AUTO 
		# Uses FAR_FIRST when on a single player world 
		# and NEAR_FIRST when connected to a server. 
		#
		# This shouldn't affect performance.
		#Allowed Values: AUTO, NEAR_FIRST, FAR_FIRST
		"Generation Priority" = "AUTO"
		#
		#
		# How detailed should fake chunks be generated outside the vanilla render distance? 
		#
		# NONE 
		# Don't run the distance generator. 
		# No CPU usage - Fastest 
		#
		# BIOME_ONLY 
		# Only generate the biomes and use the biome's 
		# grass color, water color, or snow color. 
		# Doesn't generate height, everything is shown at sea level. 
		# Multithreaded - Fastest (2-5 ms) 
		#
		# BIOME_ONLY_SIMULATE_HEIGHT 
		# Same as BIOME_ONLY, except instead 
		# of always using sea level as the LOD height 
		# different biome types (mountain, ocean, forest, etc.) 
		# use predetermined heights to simulate having height data. 
		# Multithreaded - Fastest (2-5 ms) 
		#
		# SURFACE 
		# Generate the world surface, 
		# this does NOT include trees, 
		# or structures. 
		# Multithreaded - Faster (10-20 ms) 
		#
		# FEATURES 
		# Generate everything except structures. 
		# WARNING: This may cause world generation bugs or instability! 
		# Multithreaded - Fast (15-20 ms) 
		#
		# FULL 
		# Ask the local server to generate/load each chunk. 
		# This will show player made structures, which can 
		# be useful if you are adding the mod to a pre-existing world. 
		# This is the most compatible, but causes server/simulation lag. 
		# SingleThreaded - Slow (15-50 ms, with spikes up to 200 ms) 
		#
		# The multithreaded options may increase CPU load significantly (while generating) 
		# depending on how many world generation threads you have allocated. 
		#
		#Allowed Values: NONE, BIOME_ONLY, BIOME_ONLY_SIMULATE_HEIGHT, SURFACE, FEATURES, FULL
		"Distance Generation Mode" = "FULL"
		#
		#
		# When using the FEATURES generation mode 
		# some features may not be thread safe, which could 
		# cause instability and crashes. 
		# By default (false) those features are skipped, 
		# improving stability, but decreasing how many features are 
		# actually generated. 
		# (for example: some tree generation is unstable, 
		#               so some trees may not be generated.) 
		# By setting this to true, all features will be generated, 
		# but your game will be more unstable and crashes may occur. 
		#
		# I would love to remove this option and always generate everything, 
		# but I'm not sure how to do that. 
		# If you are a Java wizard, check out the git issue here: 
		# https://gitlab.com/jeseibel/minecraft-lod-mod/-/issues/35 
		#
		"Allow Unstable Feature Generation" = false
		#
		#
		# When generating fake chunks, what blocks should be ignored? 
		# Ignored blocks don't affect the height of the fake chunk, but might affect the color. 
		# So using BOTH will prevent snow covered blocks from appearing one block too tall, 
		# but will still show the snow's color.
		#
		# NONE: Use all blocks when generating fake chunks 
		# NON_FULL: Only use full blocks when generating fake chunks (ignores slabs, lanterns, torches, tall grass, etc.) 
		# NO_COLLISION: Only use solid blocks when generating fake chunks (ignores tall grass, torches, etc.) 
		# BOTH: Only use full solid blocks when generating fake chunks 
		#
		# This wont't affect performance.
		#Allowed Values: NONE, NON_FULL, NO_COLLISION, BOTH
		"Blocks to avoid" = "BOTH"

	#Advanced mod settings
	[Client.Advanced]

		#These settings control how many CPU threads the mod uses for different tasks.
		[Client.Advanced.Threading]
			#
			#
			# How many threads should be used when generating fake chunks outside 
			# the normal render distance? 
			#
			# If you experience stuttering when generating distant LODs, decrease 
			# this number. If you want to increase LOD generation speed, 
			# increase this number. 
			#
			# This and the number of buffer builder threads are independent, 
			# so if they add up to more threads than your CPU has cores, 
			# that shouldn't cause an issue. 
			#
			# The maximum value is the number of logical processors on your CPU. 
			# Requires a restart to take effect. 
			#
			#Range: 1 ~ 12
			numberOfWorldGenerationThreads = 8
			#
			#
			#com.seibel.lod.core.objects.MinDefaultMax@75eaa0c7
			#Range: 1 ~ 12
			numberOfBufferBuilderThreads = 8

		#These settings can be used to look for bugs, or see how certain aspects of the mod work.
		[Client.Advanced.Debugging]
			#
			#
			# If true, the mod is enabled and fake chunks will be drawn. 
			# If false, the mod will still generate fake chunks, 
			# but they won't be rendered. 
			#
			# Disabling rendering will reduce GPU usage 
			#
			"Enable Rendering" = true
			#
			#
			# Should specialized colors/rendering modes be used? 
			#
			# OFF: Fake chunks will be drawn with their normal colors. 
			# SHOW_DETAIL: Fake chunks color will be based on their detail level. 
			# SHOW_DETAIL_WIREFRAME: Fake chunks color will be based on their detail level, drawn as a wireframe. 
			#
			#Allowed Values: OFF, SHOW_DETAIL, SHOW_DETAIL_WIREFRAME
			"Debug Mode" = "OFF"
			#
			#
			# If true the F4 key can be used to cycle through the different debug modes. 
			# and the F6 key can be used to enable and disable LOD rendering.
			"Enable Debug Keybinding" = true

		#These settings affect how often geometry is rebuilt.
		[Client.Advanced.Buffers]
			#
			#
			# What method should be used to upload geometry to the GPU? 
			#
			# AUTO: Picks the best option based on the GPU you have. 
			# BUFFER_STORAGE: Default for NVIDIA if OpenGL 4.5 is supported. 
			#                 Fast rendering, no stuttering. 
			# SUB_DATA: Backup option for NVIDIA. 
			#           Fast rendering but may stutter when uploading. 
			# BUFFER_MAPPING: Slow rendering but won't stutter when uploading. Possibly the best option for integrated GPUs. 
			#                Default option for AMD/Intel. 
			#                May end up storing buffers in System memory. 
			#                Fast rending if in GPU memory, slow if in system memory, 
			#                but won't stutter when uploading.  
			# DATA: Fast rendering but will stutter when uploading. 
			#       Backup option for AMD/Intel. 
			#       Fast rendering but may stutter when uploading. 
			#
			# If you don't see any difference when changing these settings, or the world looks corrupted: 
			# Restart the game to clear the old buffers. 
			#
			#Allowed Values: AUTO, BUFFER_STORAGE, SUB_DATA, BUFFER_MAPPING, DATA
			"GPU Upload Method" = "AUTO"
			#
			#
			# How long should we wait before uploading a buffer to the GPU? 
			# Helpful resource for frame times: https://fpstoms.com 
			#
			# Longer times may reduce stuttering but will make fake chunks 
			# transition and load slower. 
			#
			# NOTE:
			# This should be a last resort option. Only change this from [0], after you have tried all of the 
			# "GPU Upload methods" and determined even the best stutters with yoru hardware.
			#Range: 0 ~ 5000
			"GPU Upload Timeout in Milleseconds" = 0
			#
			#
			# How frequently should vertex buffers (geometry) be rebuilt and sent to the GPU? 
			# Higher settings may cause stuttering, but will prevent holes in the world 
			#
			#Allowed Values: FREQUENT, NORMAL, RARE
			rebuildFrequency = "NORMAL"

[client]

	[client.graphics]

		[client.graphics.quality]
			# What is the maximum detail fake chunks should be drawn at? 
			# This setting will only affect closer chunks.
			# Higher settings will increase memory and GPU usage. 
			#
			# CHUNK: render 1 LOD for each Chunk. 
			# HALF_CHUNK: render 4 LODs for each Chunk. 
			# FOUR_BLOCKS: render 16 LODs for each Chunk. 
			# TWO_BLOCKS: render 64 LODs for each Chunk. 
			# BLOCK: render 256 LODs for each Chunk (width of one block). 
			#
			# Lowest Quality: CHUNK Highest Quality: BLOCK
			drawResolution = "BLOCK"
			# The radius of the mod's render distance. (measured in chunks) 
			#
			lodChunkRenderDistance = 128
			# This indicates how detailed fake chunks will represent 
			# overhangs, caves, floating islands, ect. 
			# Higher options will make the world more accurate, but will increase memory and GPU usage. 
			#
			# LOW: uses at max 2 columns per position. 
			# MEDIUM: uses at max 4 columns per position. 
			# HIGH: uses at max 8 columns per position. 
			#
			# Lowest Quality: LOW Highest Quality: HIGH
			verticalQuality = "MEDIUM"
			# This indicates how quickly fake chunks decrease in quality the further away they are. 
			# Higher settings will render higher quality fake chunks farther away, 
			# but will increase memory and GPU usage.
			horizontalScale = 12
			# This indicates how quickly fake chunks decrease in quality the further away they are. 
			# Higher settings will render higher quality fake chunks farther away, 
			# but will increase memory and GPU usage.
			horizontalQuality = "MEDIUM"
			# This determines how lod level drop off will be done. 
			#
			# SMOOTH_DROPOFF: 
			#     The lod level is calculated for each point, making the drop off a smooth circle. 
			# PERFORMANCE_FOCUSED: 
			#     One detail level for an entire region. Minimize CPU usage and 
			#     improve terrain refresh delay, especially for high Lod render distance. 
			# AUTO: 
			#     Use SMOOTH_DROPOFF for less then 128 Lod render distance, 
			#     or PERFORMANCE_FOCUSED otherwise. 
			#
			dropoffQuality = "AUTO"
			# This is the same as vanilla Biome Blending settings for Lod area. 
			#     Note that anything other than '0' will greatly effect Lod building time 
			#     and increase triangle count. The cost on chunk generation speed is also 
			#     quite large if set too high.
			#
			#     '0' equals to Vanilla Biome Blending of '1x1' or 'OFF', 
			#     '1' equals to Vanilla Biome Blending of '3x3', 
			#     '2' equals to Vanilla Biome Blending of '5x5'... 
			#
			lodBiomeBlending = 1

		[client.graphics.fogQuality]
			# At what distance should Fog be drawn on the fake chunks? 
			#
			# This setting shouldn't affect performance.
			fogDistance = "FAR"
			# When should fog be drawn? 
			#
			# USE_OPTIFINE_SETTING: Use whatever Fog setting Optifine is using.
			# If Optifine isn't installed this defaults to FOG_ENABLED. 
			# FOG_ENABLED: Never draw fog on the LODs 
			# FOG_DISABLED: Always draw fast fog on the LODs 
			#
			# Disabling fog will improve GPU performance.
			fogDrawMode = "FOG_ENABLED"
			# What color should fog use? 
			#
			# USE_WORLD_FOG_COLOR: Use the world's fog color. 
			# USE_SKY_COLOR: Use the sky's color. 
			#
			# This setting doesn't affect performance.
			fogColorMode = "USE_WORLD_FOG_COLOR"
			# If true disable Minecraft's fog. 
			#
			# Experimental! Mod support is not guarantee.
			disableVanillaFog = true

			[client.graphics.fogQuality.advancedFog]
				# Where should the far fog start? 
				#
				#   '0.0': Fog start at player's position.
				#   '1.0': The fog-start's circle fit just in the lod render distance square.
				# '1.414': The lod render distance square fit just in the fog-start's circle.
				#
				farFogStart = 0.0
				# Where should the far fog end? 
				#
				#   '0.0': Fog end at player's position.
				#   '1.0': The fog-end's circle fit just in the lod render distance square.
				# '1.414': The lod render distance square fit just in the fog-end's circle.
				#
				farFogEnd = 1.0
				# What is the minimum fog thickness? 
				#
				#   '0.0': No fog at all.
				#   '1.0': Fully fog color.
				#
				farFogMin = 0.0
				# What is the maximum fog thickness? 
				#
				#   '0.0': No fog at all.
				#   '1.0': Fully fog color.
				#
				farFogMax = 1.0
				# How the fog thickness should be calculated from distance? 
				#
				# LINEAR: Linear based on distance (will ignore 'density')
				# EXPONENTIAL: 1/(e^(distance*density)) 
				# EXPONENTIAL_SQUARED: 1/(e^((distance*density)^2) 
				#
				farFogType = "EXPONENTIAL_SQUARED"
				# What is the fog density? 
				#
				farFogDensity = 2.5

				[client.graphics.fogQuality.advancedFog.heightFog]
					# How the height should effect the fog thickness combined with the normal function? 
					#
					# BASIC: No special height fog effect. Fog is calculated based on camera distance 
					# IGNORE_HEIGHT: Ignore height completely. Fog is calculated based on horizontal distance 
					# ADDITION: heightFog + farFog 
					# MAX: max(heightFog, farFog) 
					# MULTIPLY: heightFog * farFog 
					# INVERSE_MULTIPLY: 1 - (1-heightFog) * (1-farFog) 
					# LIMITED_ADDITION: farFog + max(farFog, heightFog) 
					# MULTIPLY_ADDITION: farFog + farFog * heightFog 
					# INVERSE_MULTIPLY_ADDITION: farFog + 1 - (1-heightFog) * (1-farFog) 
					# AVERAGE: farFog*0.5 + heightFog*0.5 
					#
					# Note that for 'BASIC' mode and 'IGNORE_HEIGHT' mode, fog settings for height fog has no effect.
					#
					heightFogMixMode = "BASIC"
					# Where should the height fog be located? 
					#
					# ABOVE_CAMERA: Height fog starts from camera to the sky 
					# BELOW_CAMERA: Height fog starts from camera to the void 
					# ABOVE_AND_BELOW_CAMERA: Height fog starts from camera to both the sky and the void 
					# ABOVE_SET_HEIGHT: Height fog starts from a set height to the sky 
					# BELOW_SET_HEIGHT: Height fog starts from a set height to the void 
					# ABOVE_AND_BELOW_SET_HEIGHT: Height fog starts from a set height to both the sky and the void 
					#
					#
					heightFogMode = "ABOVE_AND_BELOW_CAMERA"
					# If the height fog is calculated around a set height, what is that height position? 
					#
					#
					heightFogHeight = 70.0
					# How far the start of height fog should offset? 
					#
					#   '0.0': Fog start with no offset.
					#   '1.0': Fog start with offset of the entire world's height. (Include depth)
					#
					heightFogStart = 0.0
					# How far the end of height fog should offset? 
					#
					#   '0.0': Fog end with no offset.
					#   '1.0': Fog end with offset of the entire world's height. (Include depth)
					#
					heightFogEnd = 1.0
					# What is the minimum fog thickness? 
					#
					#   '0.0': No fog at all.
					#   '1.0': Fully fog color.
					#
					heightFogMin = 0.0
					# What is the maximum fog thickness? 
					#
					#   '0.0': No fog at all.
					#   '1.0': Fully fog color.
					#
					heightFogMax = 1.0
					# How the fog thickness should be calculated from height? 
					#
					# LINEAR: Linear based on height (will ignore 'density')
					# EXPONENTIAL: 1/(e^(height*density)) 
					# EXPONENTIAL_SQUARED: 1/(e^((height*density)^2) 
					#
					heightFogType = "EXPONENTIAL_SQUARED"
					# What is the fog density? 
					#
					heightFogDensity = 2.5

		[client.graphics.advancedGraphics]
			# If false fake chunks behind the player's camera 
			# aren't drawn, increasing GPU performance. 
			#
			# If true all LODs are drawn, even those behind 
			# the player's camera, decreasing GPU performance. 
			#
			# Disable this if you see LODs disappearing at the corners of your vision. 
			#
			disableDirectionalCulling = false
			# How often should LODs be drawn on top of regular chunks? 
			# HALF and ALWAYS will prevent holes in the world, 
			# but may look odd for transparent blocks or in caves. 
			#
			# NEVER: 
			#     LODs won't render on top of vanilla chunks. Use Overdraw offset to change the border offset. 
			# DYNAMIC: 
			#     LODs will render on top of distant vanilla chunks to hide delayed loading. 
			#     Will dynamically decide the border offset based on vanilla render distance. 
			# ALWAYS: 
			#     LODs will render on all vanilla chunks preventing all holes in the world. 
			#
			# This setting shouldn't affect performance. 
			#
			vanillaOverdraw = "DYNAMIC"
			# If on Vanilla Overdraw mode of NEVER, how much should should the border be offset? 
			#
			#  '1': The start of lods will be shifted inwards by 1 chunk, causing 1 chunk of overdraw. 
			# '-1': The start fo lods will be shifted outwards by 1 chunk, causing 1 chunk of gap. 
			#
			# This setting can be used to deal with gaps due to our vanilla rendered chunk 
			#   detection not being perfect. 
			#
			overdrawOffset = 0
			# Will prevent some overdraw issues, but may cause nearby fake chunks to render incorrectly 
			# especially when in/near an ocean. 
			#
			# This setting shouldn't affect performance. 
			#
			useExtendedNearClipPlane = true
			# How bright fake chunk colors are. 
			#
			# 0 = black 
			# 1 = normal 
			# 2 = near white 
			#
			brightnessMultiplier = 1.0
			# How saturated fake chunk colors are. 
			#
			# 0 = black and white 
			# 1 = normal 
			# 2 = very saturated 
			#
			saturationMultiplier = 1.0
			# If enabled caves will be culled 
			#
			# NOTE: This feature is under development and 
			#  it is VERY experimental! Please don't report 
			# any issues related to this feature. 
			#
			# Additional Info: Currently this cull all faces 
			#  with skylight value of 0 in dimensions that 
			#  does not have a ceiling. 
			#
			enableCaveCulling = true
			# At what Y value should cave culling start? 
			#
			caveCullingHeight = 40
			# This is the earth size ratio when applying the curvature shader effect. 
			#
			# NOTE: This feature is just for fun and is VERY experimental! 
			#Please don't report any issues related to this feature. 
			#
			# 0 = flat/disabled 
			# 1 = 1 to 1 (6,371,000 blocks) 
			# 100 = 1 to 100 (63,710 blocks) 
			# 10000 = 1 to 10000 (637.1 blocks) 
			#
			# NOTE: Due to current limitations, the min value is 50 
			# and the max value is 5000. Any values outside this range 
			# will be set to 0(disabled).
			earthCurveRatio = 0

	[client.worldGenerator]
		# Whether to enable Distant chunks generator? 
		#
		# Turning this on allows Distant Horizons to make lods for chunks 
		# that are outside of vanilla view distance. 
		#
		# Note that in server, distant generation is always off. 
		#
		enableDistantGeneration = true
		distanceGenerationMode = "FEATURES"
		# How should block and sky lights be processed for distant generation? 
		#
		# Note that this include already existing chunks since vanilla 
		# does not store sky light values to save file. 
		#
		# FAST: Use height map to fake the light values. 
		# FANCY: Use actaul light engines to generate proper values. 
		#
		# This will effect generation speed, but not the rendering performance.
		lightGenerationMode = "FANCY"
		# In what priority should fake chunks be generated outside the vanilla render distance? 
		#
		# FAR_FIRST 
		# Fake chunks are generated from lowest to highest detail 
		# with a priority for far away regions. 
		# This fills in the world fastest, but you will have large low detail 
		# blocks for a while while the generation happens. 
		#
		# NEAR_FIRST 
		# Fake chunks are generated around the player 
		# in a spiral, similar to vanilla minecraft. 
		# Best used when on a server since we can't generate 
		# fake chunks. 
		#
		# BALANCED 
		# A mix between NEAR_FIRSTandFAR_FIRST. 
		# First prioritise completing nearby highest detail chunks, 
		# then focus on filling in the low detail areas away from the player. 
		#
		# AUTO 
		# Uses BALANCED when on a single player world 
		# and NEAR_FIRST when connected to a server. 
		#
		# This shouldn't affect performance.
		generationPriority = "NEAR_FIRST"
		# When generating fake chunks, what blocks should be ignored? 
		# Ignored blocks don't affect the height of the fake chunk, but might affect the color. 
		# So using BOTH will prevent snow covered blocks from appearing one block too tall, 
		# but will still show the snow's color.
		#
		# NONE: Use all blocks when generating fake chunks 
		# NON_FULL: Only use full blocks when generating fake chunks (ignores slabs, lanterns, torches, tall grass, etc.) 
		# NO_COLLISION: Only use solid blocks when generating fake chunks (ignores tall grass, torches, etc.) 
		# BOTH: Only use full solid blocks when generating fake chunks 
		#
		# This wont't affect performance.
		blocksToAvoid = "BOTH"

	[client.multiplayer]
		# What multiplayer save folders should be named. 
		#
		# AUTO: NAME_IP for LAN connections, NAME_IP_PORT for all others. 
		# NAME_ONLY: Example: "Minecraft Server" 
		# NAME_IP: Example: "Minecraft Server IP 192.168.1.40" 
		# NAME_IP_PORT: Example: "Minecraft Server IP 192.168.1.40:25565" 
		#
		#
		serverFolderNameMode = "AUTO"
		# When matching worlds of the same dimension type the 
		# tested chunks must be at least this percent the same 
		# in order to be considered the same world. 
		#
		# Note: If you use portals to enter a dimension at two 
		# different locations this system may think it is two different worlds. 
		#
		# 1.0 (100%) the chunks must be identical. 
		# 0.5 (50%)  the chunks must be half the same. 
		# 0.0 (0%)   disables multi-dimension support, 
		#            only one world will be used per dimension. 
		#
		#
		multiDimensionRequiredSimilarity = 0.0

	[client.advanced]
		# Due to some demand for playing without vanilla terrains, 
		# we decided to add this mode for fun. 
		#
		# NOTE: Do not report any issues when this mode is on! 
		#   Again, this setting is only for fun, and mod 
		#   compatibility is not guaranteed. 
		#
		#
		lodOnlyMode = false

		[client.advanced.threading]
			# How many threads should be used when generating fake 
			# chunks outside the normal render distance? 
			#
			# If it's less than 1, it will be treated as a percentage 
			# of time single thread can run before going to idle. 
			#
			# If you experience stuttering when generating distant LODs, 
			# decrease  this number. If you want to increase LOD 
			# generation speed, increase this number. 
			#
			# This and the number of buffer builder threads are independent, 
			# so if they add up to more threads than your CPU has cores, 
			# that shouldn't cause an issue. 
			#
			numberOfWorldGenerationThreads = 4.0
			# How many threads are used when building vertex buffers? 
			# (The things sent to your GPU to draw the fake chunks). 
			#
			# If you experience high CPU usage when NOT generating distant 
			# fake chunks, lower this number. A higher number will make fake
			# fake chunks' transition faster when moving around the world. 
			#
			# This and the number of world generator threads are independent, 
			# so if they add up to more threads than your CPU has cores, 
			# that shouldn't cause an issue. 
			#
			# The maximum value is the number of logical processors on your CPU. 
			#
			numberOfBufferBuilderThreads = 2

		[client.advanced.debugging]
			# What renderer is active? 
			#
			# DEFAULT: Default lod renderer 
			# DEBUG: Debug testing renderer 
			# DISABLED: Disable rendering 
			#
			rendererType = "DEFAULT"
			# Should specialized colors/rendering modes be used? 
			#
			# OFF: Fake chunks will be drawn with their normal colors. 
			# SHOW_WIREFRAME: Fake chunks will be drawn as wireframes. 
			# SHOW_DETAIL: Fake chunks color will be based on their detail level. 
			# SHOW_DETAIL_WIREFRAME: Fake chunks color will be based on their detail level, drawn as a wireframe. 
			# SHOW_GENMODE: Fake chunks color will be based on their distant generation mode. 
			# SHOW_GENMODE_WIREFRAME: Fake chunks color will be based on their distant generation mode, drawn as a wireframe. 
			# SHOW_OVERLAPPING_QUADS: Fake chunks will be drawn with total white, but overlapping quads will be drawn with red. 
			# SHOW_OVERLAPPING_QUADS_WIREFRAME: Fake chunks will be drawn with total white, 
			# but overlapping quads will be drawn with red, drawn as a wireframe. 
			#
			debugMode = "OFF"
			# If true the F8 key can be used to cycle through the different debug modes. 
			# and the F6 key can be used to enable and disable LOD rendering.
			enableDebugKeybindings = false

			[client.advanced.debugging.debugSwitch]
				# If enabled, the mod will log information about the world generation process. 
				# This can be useful for debugging. 
				#
				logWorldGenEvent = "LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE"
				# If enabled, the mod will log performance about the world generation process. 
				# This can be useful for debugging. 
				#
				logWorldGenPerformance = "LOG_WARNING_TO_CHAT_AND_FILE"
				# If enabled, the mod will log information about the world generation process. 
				# This can be useful for debugging. 
				#
				logWorldGenLoadEvent = "LOG_WARNING_TO_CHAT_AND_FILE"
				# If enabled, the mod will log information about the LOD generation process. 
				# This can be useful for debugging. 
				#
				logLodBuilderEvent = "LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE"
				# If enabled, the mod will log information about the renderer buffer process. 
				# This can be useful for debugging. 
				#
				logRendererBufferEvent = "LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE"
				# If enabled, the mod will log information about the renderer OpenGL process. 
				# This can be useful for debugging. 
				#
				logRendererGLEvent = "LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE"
				# If enabled, the mod will log information about file read/write operations. 
				# This can be useful for debugging. 
				#
				logFileReadWriteEvent = "LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE"
				# If enabled, the mod will log information about file sub-dimension operations. 
				# This can be useful for debugging. 
				#
				logFileSubDimEvent = "LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE"
				# If enabled, the mod will log information about network operations. 
				# This can be useful for debugging. 
				#
				logNetworkEvent = "LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE"

		[client.advanced.buffers]
			# What method should be used to upload geometry to the GPU? 
			#
			# AUTO: Picks the best option based on the GPU you have. 
			# BUFFER_STORAGE: Default for NVIDIA if OpenGL 4.5 is supported. 
			#                 Fast rendering, no stuttering. 
			# SUB_DATA: Backup option for NVIDIA. 
			#           Fast rendering but may stutter when uploading. 
			# BUFFER_MAPPING: Slow rendering but won't stutter when uploading. Possibly the best option for integrated GPUs. 
			#                Default option for AMD/Intel. 
			#                May end up storing buffers in System memory. 
			#                Fast rendering if in GPU memory, slow if in system memory, 
			#                but won't stutter when uploading.  
			# DATA: Fast rendering but will stutter when uploading. 
			#       Backup option for AMD/Intel. 
			#       Fast rendering but may stutter when uploading. 
			#
			# If you don't see any difference when changing these settings, or the world looks corrupted: 
			# Restart the game to clear the old buffers. 
			#
			gpuUploadMethod = "AUTO"
			# How long should a buffer wait per Megabyte of data uploaded?
			# Helpful resource for frame times: https://fpstoms.com 
			#
			# Longer times may reduce stuttering but will make fake chunks 
			# transition and load slower. Change this to [0] for no timeout.
			#
			# NOTE:
			# Before changing this config, try changing "GPU Upload methods"
			#  and determined the best method for your hardware first. 
			#
			gpuUploadPerMegabyteInMilliseconds = 0
			# How frequently should vertex buffers (geometry) be rebuilt and sent to the GPU? 
			# Higher settings may cause stuttering, but will prevent holes in the world 
			#
			rebuildTimes = "NORMAL"

