[common]

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

  [common.generator]

    # Defines how many milliseconds per tick the pregenerator should take to generate chunks
    # This config exists since the worldgenerator runs on gameplay thread
    # Setting this number above 50 ms will cause gameplay lag while setting it lower will slow the pregenerator down
    # If you want the fastest pregen speed but don't care about playability 250 is the best value, anything higher won't help unless you have edgecases
    #​ Range: 1 ~ 1000
    I:time-per-tick=40

    # Defines what task should be the Priority. Gameplay or Pregeneration.
    # This is done by accounting the game lag in time-per-tick calculation
    # When this is set to false it will prioritize a smooth gameplay over a faster pregeneration
    # When it is set to true, the game lag will not be accounted for in the time-per-tick calculation
    #​ Must be one of [GAME, PREGENERATOR]
    E:priority=GAME

    # Defines if the task queue should be automatically continued upon the startup of the game
    # This is automatically set to true when you start a task so when a controlled shutdown happens you don't have manually resume tasks
    # If you are in a crashloop due to the pregenerator simply set this to false and it should be solved
    B:auto-resume=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: (Integer); speed: (Float);],
    #​ Example: [dimension: 0; speed: 1.0;]
    P:pregen-speeds=<<<
      [
        dimension: 0; 
        speed: 1.0; 
      ], 
      [
        dimension: -1; 
        speed: 1.0; 
      ], 
      [
        dimension: 1; 
        speed: 1.0; 
      ]
    >>>

  [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 the pregenerator automatically kills the game if it thinks the game is running out of ram to prevent world corruption
    # NOTE: It will simply save the game and kill it. Since so many auto restart scripts exists it takes advantage of that to simply reset the ram usage
    B:memory-protector=true

    # Defines how low the free ram has to be for 30 seconds straight before the pregenerator kills the game
    # The number is defined in MB
    I:memory-limit=384

    # Defines how many players have to be online for the pregenerator before the pregenerator automatically pauses
    # -1 means it ignores players
    # 0 means the pregenerator is 24/7 paused
    # > 0 means if the player count is reached said number the pregenerator will pause
    I:player-limit=-1

    # Defines if mineshaft references should be automatically be deleted to reduce the memory leak effect
    # If this is enabled then the locate command doesn't work on Mineshafts
    B:clear-mineshafts=true

  [common.commands]

    # 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

    # The active list of retrogenerators
    A:active-retrogenerators=

  [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

  # Disables the backport of the Command line from modern versions.
  # Which makes writing commands much easier
  #​ Requires Restart
  B:disable-advanced-commandline=false

  # Defines if the preview should automatically adjust the scale to always fit the entire gui or not
  B:disable-preview-auto-scale=false

  # If the warning of Forge Essentials was shown. Config so it is only shown once
  B:warning-forge-essentials=false

  [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; 
      ]
    >>>

  [client.tracker-overlay]

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

    # 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: END; 
        vertical-align: START; 
        xOffset: 0.002; 
        yOffset: 0.002; 
        scale: 1.0; 
      ]
    >>>

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