-version = 3\r
-# (Default: \r
-# max(\r
-# 1,\r
-# min(\r
-# if( is_windows,\r
-# (cpus / 1.6),\r
-# (cpus / 1.3)\r
-# ) - if(is_client, 1, 0),\r
-# ( ( mem_gb - (if(is_client, 1.0, 0.5)) ) / 0.6 )\r
-# )\r
-# )\r
-# ) \r
-# The expression for the default value of global executor parallelism. \r
-# This is used when the parallelism isn't overridden.\r
-# Available variables: is_windows, is_j9vm, is_client, cpus, mem_gb\r
-# \r
-defaultGlobalExecutorParallelismExpression = "max(1,min(if(is_client,(cpus/2.66+1),(cpus/1.5)),if(is_j9vm,((mem_gb-(if(is_client,0.5,0.2)))/0.2),((mem_gb-(if(is_client,0.8,0.5)))/0.2))))"\r
-# (Default: 4) Sets the thread priority for worker threads\r
-# \r
-# References:\r
-# - https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Thread.html#setPriority(int)\r
-# \r
-threadPoolPriority = "default"\r
-# (Default: 5) Configures the parallelism of global executor\r
-globalExecutorParallelism = "default"\r
-\r
- [clientSideConfig.modifyMaxVDConfig]\r
- # (Default: true) Enable client-side support for extended render distance protocol (c2me:ext_render_distance_v1)\r
- # This allows requesting render distances higher than 127 chunks from the server\r
- # \r
- # Requires Fabric API (currently available)\r
- # \r
- # Note: The server must advertise support this protocol for this to work\r
- # \r
- enableExtRenderDistanceProtocol = false\r
- # (Default: true) Whether to modify maximum view distance\r
- enabled = false\r
- # (Default: 43) Max render distance allowed in game options\r
- maxViewDistance = "default"\r
-\r
-[noTickViewDistance]\r
- # (Default: 10) No-tick view distance max concurrent chunk loads \r
- # Lower this for a better latency and higher this for a faster loading\r
- maxConcurrentChunkLoads = 2\r
- # (Default: true) Enable server-side support for extended render distance protocol (c2me:ext_render_distance_v1)\r
- # This allows requesting render distances higher than 127 chunks from the server\r
- # \r
- # Requires Fabric API (currently available)\r
- # \r
- enableExtRenderDistanceProtocol = false\r
- # (Default: true) Whether to attempt to smooth out chunk sending rate\r
- # \r
- # Due to the nature of chunk loading and generation, chunks reach full status in bursts,\r
- # which can cause frame time stability if the server also delivers chunks in a bursty way\r
- # This config attempts to smooth out the bursty stream of chunks to help frame time stability\r
- # \r
- smoothChunkSendingRate = "default"\r
- # (Default: false) Whether to ensure correct chunks within normal render distance \r
- # This will send chunks twice increasing network load\r
- ensureChunkCorrectness = "default"\r
-\r
-[ioSystem]\r
- # (Default: false) EXPERIMENTAL FEATURE\r
- # This replaces the way your chunks are saved.\r
- # Please keep regular backups of your world if you are using this feature,\r
- # and report any world issues you encounter with this feature to our GitHub.\r
- # \r
- # Whether to use the fast reduced allocation chunk serializer\r
- # (may cause incompatibility with other mods)\r
- # \r
- # Set to false for the following reasons: \r
- # Incompatible with architectury@18.0.8 (*) (defined in c2me) \r
- gcFreeChunkSerializer = true\r
- # (Default: 8192) Soft limit for io worker nbt cache\r
- chunkDataCacheSoftLimit = "default"\r
- # (Default: 32678) Hard limit for io worker nbt cache\r
- chunkDataCacheLimit = "default"\r
- # (Default: true) Whether to use the optimized implementation of IO system\r
- replaceImpl = "default"\r
-\r
-[chunkSystem]\r
- # (Default: true) Whether to synchronize the management of player tickets\r
- # \r
- # In vanilla Minecraft, player tickets are not always removed immediately when players leave an area.\r
- # The delay in removal increases with the chunk system’s throughput, but due to vanilla’s typically\r
- # slow chunk loading, tickets are almost always removed immediately. However, some contraptions rely\r
- # on this immediate removal behavior and tend to be broken with the increased chunk throughput.\r
- # Enabling this option synchronizes player ticket handling, making it more predictable and\r
- # thus improving compatibility with these contraptions.\r
- # \r
- syncPlayerTickets = false\r
- # (Default: true) Whether to enable async serialization\r
- # \r
- asyncSerialization = "default"\r
- # (Default: false) Whether to recover from errors when loading chunks \r
- # This will cause errored chunk to be regenerated entirely, which may cause data loss \r
- # Only applies when async chunk loading is enabled\r
- # \r
- recoverFromErrors = "default"\r
- # (Default: true) Whether to allow POIs (Point of Interest) to be unloaded\r
- # Unloaded POIs are reloaded on-demand or when the corresponding chunks are loaded again,\r
- # which should not cause any behavior change\r
- # \r
- # Note:\r
- # Vanilla never unloads POIs when chunks unload, causing small memory leaks\r
- # These leaks adds up and eventually cause issues after generating millions of chunks\r
- # in a single world instance\r
- # \r
- allowPOIUnloading = "default"\r
- # (Default: true) This option workarounds MC-276863, a bug that makes mushrooms appear in non-postprocessed chunks\r
- # This bug is amplified with notickvd as it exposes non-postprocessed chunks to players\r
- # \r
- # This should not affect other worldgen behavior and game mechanics in general\r
- # \r
- suppressGhostMushrooms = "default"\r
- # (Default: true) Whether to turn fluid postprocessing into scheduled tick\r
- # \r
- # Fluid post-processing is very expensive when loading in new chunks, and this can affect\r
- # MSPT significantly. This option delays fluid post-processing to scheduled tick to hopefully\r
- # mitigate this issue.\r
- # \r
- fluidPostProcessingToScheduledTick = "default"\r
- # (Default: true) Whether to filter fluid post-processing on worldgen threads\r
- # \r
- # The worldgen processes creates a lot of unnecessary fluid post-processing tasks,\r
- # which can overload the server thread and cause stutters.\r
- # This applies a rough filter to filter out fluids that are definitely not going to flow\r
- # \r
- filterFluidPostProcessing = "default"\r
- # (Default: false) Whether to use legacy scheduling for neighbor chunks\r
- # \r
- # Enabling this restores the behavior of always loading in neighbor chunks when a chunk is loaded.\r
- # \r
- # This is currently deprecated and will be removed in the future.\r
- # \r
- useLegacyScheduling = "default"\r
- # (Default: false) Whether to enable low memory mode\r
- # \r
- # This option will attempt to aggressively unload unused chunks.\r
- # Only applies when useLegacyScheduling is disabled.\r
- # \r
- lowMemoryMode = "default"\r
-\r
-[fixes]\r
- # (Default: true) \r
- # Whether to disable the shutdown hook of log4j2 on dedicated servers.\r
- # Enabling this also makes the JVM exit when the dedicated server is considered fully shut down.\r
- # This option have no effect on client-side.\r
- # We has historically been doing this, and this config option allows you to disable this behavior.\r
- # \r
- disableLoggingShutdownHook = "default"\r
- # (Default: true) Whether to prevent early client ticks.\r
- # \r
- # This avoids the player from falling through the world.\r
- # Mitigates https://github.com/CaffeineMC/sodium/issues/3065\r
- # \r
- preventEarlyClientMovementTicks = "default"\r
- # (Default: true) Enforces safe world random access. \r
- # This feature detects unsafe off-thread world random access, helping to find the causes \r
- # of mysterious "Accessing LegacyRandomSource from multiple threads" crash. \r
- # The default behavior is to fail hard when such bad things happens. \r
- # Disabling this option will replace this behavior with a warning. \r
- # \r
- # It is generally not recommended to disable this settings unless you know what you are doing \r
- # \r
- # \r
- enforceSafeWorldRandomAccess = "default"\r
-\r
-[vanillaWorldGenOptimizations]\r
- # (Default: true) Whether to use density function compiler to accelerate world generation\r
- # \r
- # Density function: https://minecraft.wiki/w/Density_function\r
- # \r
- # This functionality compiles density functions from world generation\r
- # datapacks (including vanilla generation) to JVM bytecode to increase\r
- # performance by allowing JVM JIT to better optimize the code\r
- # \r
- # Currently, all functions provided by vanilla are implemented.\r
- # Chunk upgrades from pre-1.18 versions are not implemented and will\r
- # fall back to the unoptimized version of density functions.\r
- # \r
- useDensityFunctionCompiler = "default"\r
- # (Default: true) Whether to enable aquifer optimizations to accelerate overworld worldgen\r
- # (may cause incompatibility with other mods)\r
- optimizeAquifer = "default"\r
- # (Default: true) Whether to enable End Biome Cache to accelerate The End worldgen \r
- # This is no longer included in lithium-fabric \r
- # (may cause incompatibility with other mods)\r
- # \r
- useEndBiomeCache = "default"\r
- # (Default: true) Whether to enable StructureWeightSampler optimizations to accelerate world generation\r
- # \r
- optimizeStructureWeightSampler = "default"\r
-\r
-[generalOptimizations]\r
- # (Default: 100000) The task interval of mid-tick chunk tasks in nanoseconds (-1 to disable) \r
- # Mid-tick chunk tasks is to execute chunk tasks during server tick loop \r
- # to speed up chunk loading and generation \r
- # This helps chunks loading and generating under high MSPT but may raise \r
- # MSPT when chunks are loading or generating \r
- # \r
- # It is generally not recommended to adjust this value unless you know \r
- # what you are doing \r
- # \r
- # Incompatible with Dimensional Threading (dimthread)\r
- # \r
- midTickChunkTasksInterval = "default"\r
-\r
- [generalOptimizations.autoSave]\r
- # (Default: ENHANCED) Defines how auto save should be handled \r
- # VANILLA: Use vanilla auto-save behavior (auto-save performed every tick during ticking) \r
- # ENHANCED: Use C2ME enhanced auto-save (auto-save performed when the server have spare time after ticking) \r
- # PERIODIC: Use pre-1.18 vanilla auto-save behavior (auto-save performed every 6000 ticks during ticking) \r
- # \r
- # Please preserve quotes so this config don't break\r
- # \r
- mode = "default"\r