version = 3
# (Default: 
#    max(
#        1,
#        min(
#            if( is_windows,
#                (cpus / 1.6 - 2),
#                (cpus / 1.2 - 2)
#            ),
#            if( is_j9vm,
#                ( ( mem_gb - (if(is_client, 0.6, 0.2)) ) / 0.5 ),
#                ( ( mem_gb - (if(is_client, 1.2, 0.6)) ) / 1.2 )
#            )
#        ) - if(is_client, 2, 0)
#    )
# )  
#  The expression for the default value of global executor parallelism. 
#  This is used when the parallelism isn't overridden.
#  Available variables: is_windows, is_j9vm, is_client, cpus, mem_gb
# 
defaultGlobalExecutorParallelismExpression = "default"
# (Default: 3) Configures the parallelism of global executor
globalExecutorParallelism = "default"

[vanillaWorldGenOptimizations]
	# (Default: true) Whether to use density function compiler to accelerate world generation. Density function: https://minecraft.wiki/w/Density_function. This functionality compiles density functions from world generation datapacks (including vanilla generation) to JVM bytecode to increase performance by allowing JVM JIT to better optimize the code. Currently, all functions provided by vanilla are implemented. Chunk upgrades from pre-1.18 versions are not implemented and will fall back to the unoptimized version of density functions.
	useDensityFunctionCompiler = "default"

[fixes]
	# (Default: true)  
	#  Whether to disable the shutdown hook of log4j2 on dedicated servers.
	#  Enabling this also makes the JVM exit when the dedicated server is considered fully shut down.
	#  This option have no effect on client-side.
	#  We has historically been doing this, and this config option allows you to disable this behavior.
	# 
	disableLoggingShutdownHook = "default"
	# (Default: true) Enforces safe world random access.  
	# This feature detects unsafe off-thread world random access, helping to find the causes  
	# of mysterious "Accessing LegacyRandomSource from multiple threads" crash.  
	# The default behavior is to fail hard when such bad things happens.  
	# Disabling this option will replace this behavior with a warning.  
	# 
	# It is generally not recommended to disable this settings unless you know what you are doing  
	# 
	# 
	enforceSafeWorldRandomAccess = "default"

[ioSystem]
	# (Default: true) Whether to use the optimized implementation of IO system
	replaceImpl = "default"
	# (Default: 8192) Soft limit for io worker nbt cache
	chunkDataCacheSoftLimit = "default"
	# (Default: 32678) Hard limit for io worker nbt cache
	chunkDataCacheLimit = "default"
	# (Default: -1) Defines which chunk compression should be used 
	# -1 for Vanilla default  
	# 1  for GZip (RFC1952) (Vanilla compatible) 
	# 2  for Zlib (RFC1950) (Vanilla default) (Vanilla compatible) 
	# 3  for Uncompressed (Fastest, but higher disk usage) (Vanilla compatible) 
	#  
	# Original chunk data will still readable after modifying this option  
	# as this option only affects newly stored chunks 
	# Invalid values will fall back to vanilla default
	# 
	chunkStreamVersion = "default"
	# (Default: false) EXPERIMENTAL FEATURE
	# This replaces the way your chunks are saved.
	# Please keep regular backups of your world if you are using this feature,
	# and report any world issues you encounter with this feature to our GitHub.
	# 
	# Whether to use the fast reduced allocation chunk serializer
	# (may cause incompatibility with other mods)
	# 
	# Set to false for the following reasons: 
	# Incompatible with architectury@9.2.14 (*) (defined in harichunk) 
	gcFreeChunkSerializer = "default"

[noTickViewDistance]
	# (Default: true) Whether to enable no-tick view distance
	enabled = "default"
	# (Default: 4) No-tick view distance max concurrent chunk loads 
	#  Lower this for a better latency and higher this for a faster loading
	maxConcurrentChunkLoads = "default"
	# (Default: true) Whether to use compatibility mode to send chunks 
	#  This may fix some mod compatibility issues
	compatibilityMode = "default"
	# (Default: false) Whether to ensure correct chunks within normal render distance 
	#  This will send chunks twice increasing network load
	ensureChunkCorrectness = "default"

[clientSideConfig]

	[clientSideConfig.modifyMaxVDConfig]
		# (Default: true) Whether to modify maximum view distance
		enabled = "default"
		# (Default: 79) Max render distance allowed in game options
		maxViewDistance = "default"

[generalOptimizations]
	# (Default: true) Whether to let async chunk request no longer block server thread
	# (may cause incompatibility with other mods)
	optimizeAsyncChunkRequest = "default"

