[common]
  [common.commands]

    # Defines if better command arguments should be used that support Autocompletion better.
    # When enabled it requires the mod to be installed on the client too
    B:advanced-commands=true

  [common.generator]

    # Defines how many dimensions can be generated based on how many threads the CPU has.
    # This is done due to how many threads mc takes, on average 6-8 can be required
    # 0: 1 Dimension generator no matter the CPU threads
    # 1>=: 1 Dimension per 10 - (configValue*2) the CPU threads
    #​ Range: 0 ~ 5
    I:threading-rule=3

    # Defines if the Terrain & Post processing step should be split from each other.
    # This is done because Terrain gen is usually (not anymore) faster then Post Processing
    # Allowing the CPU to do more work and less waiting.
    B:advanced-thread-scheduler=false

    # Define if the pregenerator should be paused if the player amount is reached
    #​ Range: > -1
    I:player-limit=-1

    # Defines if the Pregenerator should auto continue Tasks if the server restarts for any reason.
    # This doesn't automatically restart the game
    B:auto-restart-tasks=false

    # This is a cache that stores last recorded pregen speeds.
    # This is used to generate Estimate Predictions for ETA of how long a task should take.
    # This isn't a config that sets how fast the pregenerator should run, but a config that keeps track of how fast they have been in the past
    # Default values are 1 chunk a tick, because it is at the center of the possible ranges.
    #​ Format: [dimension: (String); speed: (Float);],
    #​ Example: [dimension: minecraft:overworld; speed: 1.0;]
    P:pregen-speeds=<<<
      [
        dimension: minecraft:overworld; 
        speed: 1.0; 
      ], 
      [
        dimension: minecraft:the_nether; 
        speed: 1.0; 
      ], 
      [
        dimension: minecraft:the_end; 
        speed: 1.0; 
      ]
    >>>

  [common.deleter]

    # Defines how many Milliseconds per tic the Deletor has to do it's work.
    #​ Range: 1 ~ 1000
    I:deletion-time=10

  [common.tweaks]

    # Enables that the Server Preview Text in the Multiplayer Screen gets a Warning that if a Pregenerator is running
    # With a ETA Included so players who want to know how long it will take.
    # Once the Pregenerator is done or this is disabled the Original Text will be restored!
    B:enable-login-warning=true

    # Defines if a Small change that minecraft added to chunk writing should be not fixed.
    # Said change simply ensures that everything is written in sync to disk.
    # This may lead to less chunk corruption.
    # Chunk Pregen disables this change due to how much more it strains the storage the data is written to.
    # To the Point where damaging your hardware isn't out of the question
    # 1.12 and older ran without this small change and world corruption wasn't an issue to begin.
    # Setting this to "True", will remove the disabling of the setting. Do it at your own risk
    B:disable-disk-protection=false

    # Defines if the Watchdog override should be disabled
    # Said override increases the to much lag time from 60 seconds to 10 minutes.
    # While for vanilla it isn't nessesary for modded this still is.
    # This reduces the amount of crashes due to worldgen lag and ensures that there is still a fail safe present
    B:disable-watchdog-override=false

    # Disables a Fix that prevents Minecraft from leaking Memory with the Points of Interest system
    # This fix is incompatible with Lithium and Lithium Ports and can be fixed by disabling the "ai.poi" section in their Mixin Configs or by disabling this
    # When this is disabled your Maximum Pregeneration Radius is a lot smaller due to the memory leaks. So if you plan larger scale pregenerations this fix shouldn't be disabled
    B:disable-poi-memory-leak-fix=false

    # During Pregeneration Points of Interest (poi) accumulate until you run out of memory
    # Because minecraft never unloads them chunk pregen has to do that.
    # This config decides how many of them it keeps alive so the game won't crash
    # Keeping to little on can cause crashes because minecraft and chunk pregen fight over how many of them are alive
    # So having a decent buffer, especially if players are online, is a good idea
    # The default is set so it should cover 99% of the cases
    #​ Range: > 50000
    I:poi-limit=100000

    # Defines if Chunk Pregen should throw warnings if it discovers a badly configured Docker Container that would lead to lag issues
    B:show-docker-warning=true

    # Defines if the Memory Protector should be enabled
    # If your Game runs out of Ram during Pregen. Instead of causing World Corruption the Pregenerator then will instead save the game and Kill the Process
    # Then when the game restarted it will continue with fresh free ram.
    # This is not nessesary for every pregeneration, but if you do a large one that takes days and you have world corruption that is the last thing you want!
    B:enable-memory-protector=true

    # How low the free memory for 30 second should be before the trigger kicks in.
    #​ Range: > 32
    I:required-free-memory=384

  [common.customization]

    # Defines what is send in the chat Spam during the pregneration
    # This entries can be removed/reordered/added as you wish
    #​ Must be one of [Task, World, TaskInfo, ProcessingSpeed, LoadedFiles, workingArea, ExpectedTime, RamUsage, Controls]
    e:logger-order=<<<
      Task, 
      World, 
      TaskInfo, 
      ProcessingSpeed, 
      LoadedFiles, 
      workingArea, 
      ExpectedTime, 
      RamUsage, 
      Controls
    >>>

    # Defines the Permissions clients can use
    # Chunk Pregen comes with certain features that access server information, and sometimes you don't want to give OP rights since that will give access to everything
    # The permission system is ment to give controlled access to features
    #​ Format: [PlayerId: (String); Permissions: (List(Enum));],
    #​ Example: [PlayerId: 84d6171c-8546-4309-bf3e-fc0956f32ea0; Permissions: [COMMANDS, ALL_SCANNING, ALL_DELETION];]
    P:player-permissions=

    # Defines if translations should be done serverside.
    # This can address problems if the mod isn't installed on the client side.
    # While this shouldn't happen it is nice to have a backup option
    # Translation support should work 100% fine in singleplayer or if the mod is installed on the client when in a multiplayer session
    B:force-server-translation=false

[client]

  # Defines the delay when the Tooltip in guis shows up, number is in milliseconds
  # This doesn't apply to the config itself!
  #​ Range: > 0
  I:tooltip-delay=200
  B:info-trigger=true

  [client.pregen-overlay]

    # Defines if the Overlay is enabled
    B:enabled=true

    # Defines how many ticks between each poll are
    #​ Range: 1 ~ 20
    I:Poll Delay=1

    # Defines the Overlay Settings
    #​ Format: [horizontal-align: (Enum); vertical-align: (Enum); xOffset: (Float); yOffset: (Float); scale: (Float);],
    #​ Example: [horizontal-align: CENTER; vertical-align: CENTER; xOffset: 0.0; yOffset: 0.0; scale: 1.0;]
    p:overlay=<<<
      [
        horizontal-align: START; 
        vertical-align: START; 
        xOffset: 0.002; 
        yOffset: 0.002; 
        scale: 1.0; 
      ]
    >>>