[common]

  # Defines if the Profiler should run in the Background or not
  B:enable-profiler=true

  [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

    # Defines if the User Protection should be enabled
    # This is done due to people frequently generating with blocks in mind when everything is in chunks
    # And this ususally leads to way bigger worlds and flodding harddrives
    B:user-protection=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 1.5-2 can be required
    # 0: 1 Dimension generator no matter the CPU threads
    # 1: 1 Dimension per 2 CPU Threads
    # 2: 1 Dimension per 1.5 CPU Threads
    #​ Range: 0 ~ 2
    I:threading-rule=2

    # 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=true

    # 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(Double)], Example: [minecraft:overworld;1.0]
    P:pregen-speeds= < 
      minecraft:overworld;1.0, 
      minecraft:the_nether;1.0, 
      minecraft:the_end;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);Commands(Boolean);Chunk Scanning(Boolean);Chunk Teleportation(Boolean);Chunk Deletion(Boolean);Dimension Scanning(Boolean);Dimesnion Deletion(Boolean);Disk Scanning(Boolean)], Example: [84d6171c-8546-4309-bf3e-fc0956f32ea0;true;false;false;false;true;true;false]
    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

  # After a Preview world is finished, it resets the Daytime/Rain/Trader timers so you actually have a fresh start
  # Note: It doesn't reset the 'gametime' due to minecraft heavily using it in savefiles and it should be a constant that isn't altered.
  # But this doesn't has a effect on how the world looks on start. But that number should only grow not shrink
  B:cleanup-preview=true

  # Allows to pick for a Custom Background for Configs
  #​ Must be one of [PLANKS, STONE, DIRT, SEA_PRISM, BUBBLE_CORAL, MISSING, NETHERRACK, RED_NETHER_BRICKS, TUFF, CALCITE, AMETHYST, GRANITE, POLISHED_ANDESITE, DEEPSLATE_BRICKS, PURPUR_PILLAR, RED_SAND, PACKED_ICE, CRYING_OBSIDIAN, CYAN_CONCRETE_POWDER, EXPOSED_COPPER, MUD, RAW_GOLD, RAW_IRON, HONEY, HONEY_COMB, HAY]
  E:custom-background=PLANKS

  # Allows to set if the background is always visible or only if you are not in a active world
  B:ingame-background=false

  [client.pregen-overlay]

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

    # Defines the Horizontal Alignment of the Overlay
    #​ Must be one of [START, CENTER, END]
    E:Horizontal Alignment=START

    # Defines the Vertical Alignment of the Overlay
    #​ Must be one of [START, CENTER, END]
    E:Vertical Alignment=START

    # Defines the scale of the Overlay
    #​ Range: 0.1 ~ 100.0
    D:Scale=1.0

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

  [client.tracker-overlay]

    # Defines if the Overlay is enabled
    B:isEnabled=false

    # Defines the Horizontal Alignment of the Overlay
    #​ Must be one of [START, CENTER, END]
    E:Horizontal Alignment=END

    # Defines the Vertical Alignment of the Overlay
    #​ Must be one of [START, CENTER, END]
    E:Vertical Alignment=START

    # Defines the scale of the Overlay
    #​ Range: 0.1 ~ 100.0
    D:Scale=1.0

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

    # Defines which dimension the Detailed info should be focusing on
    # The Detail just shows additional stats that it tracks in the overlay
    S:detailed-dimension=minecraft:overworld

  [client.minimap]

    # Defines if a Minimap next to the Pregen overlay should be enabled. This shows what has been generated
    B:enable-minimap=true

    # Defines if the MiniMap should zoom to the Center of the screen if you hover over it
    B:zoom-on-hover=true

    # Defines which Lod (World of Detail) will be used for the MiniMap.
    # The Lod basically defines how much Memory is used for the Texture of the Minimap. Since GPU ram is limited.
    # There are 4 Lod modes.
    # AUTO: Will ensure no more then 300MB of GPU ram is used for any MiniMap
    # MAX: Will apply no lod whatsoever. At 1k Chunk Radius this will cost 4GB of GPU Ram
    # HIGH: Will apply a 1/4th of the detail to the Map, which will result in 1GB GPU ram being used for 1k Chunks
    # MEDIUM: Will apply 1/16th of the detail to the Map, which will result in 250MB GPU ram being used for 1k Chunks
    #​ Must be one of [AUTO, MAX, HIGH, MEDIUM]
    E:minimap-lod=AUTO