# Configuration file

balancing {
    # Enabling this will cancel any structure generation if another structure is present at the cooridnate already. [default: true]
    B:avoidOverlappingGeneration=true

    # Chance to use the customArtifactTag when an artifact generation tag fires. [range: 0.0 ~ 1.0, default: 0.0]
    S:customArtifactChance=0.0

    # Custom Loot Table to override when an artifact generation tag fires. [default: ]
    S:customArtifactTag=

    # Chance to use the customArtifactTag when a book generation tag fires. [range: 0.0 ~ 1.0, default: 0.0]
    S:customBookChance=0.0

    # Custom Loot Table to override when a book generation tag fires. [default: ]
    S:customBookTag=

    # Enable hacks for a few decoration types. Disabling this may fix problems but will deactivate ReC overriding those types of structures. [default: true]
    B:decorationHacks=true

    # Resource Expression that will restrict logging of structures that fail to generate. [default: ]
    S:failingStructureLogExpression=

    # Whether the nature (e.g. trees, mushrooms) added by the mod should be actively generating. [default: true]
    B:generateNature=true

    # Global toggles that can be used in expressions. You can also add your own. Ex: 'treeLeavesDecay: true'. [default: [treeLeavesDecay: true]]
    S:globalToggles <
        treeLeavesDecay: true
     >

    # If disabled, Recurrent Complex will generate structures in worlds without the structure generation option. [default: true]
    B:honorStructureGenerationOption=true

    # Resource Expression that will be applied to each loading loot table, determining if it should be set to 'active'. [default: ]
    S:inventoryGeneratorGenerationMatcher=

    # Resource Expression that will be applied to each loading loot table, determining if it should be loaded. [default: ]
    S:inventoryGeneratorLoadMatcher=

    # Maximum number of reverses per room the maze generator can do. A higher number results in a better generation success rate, but may freeze the server temporarily. [range: -1.0 ~ 100.0, default: 3.0]
    S:mazePlacementReversesPerRoom=3.0

    # Maze generation timeout, in milliseconds. After the time is over, the maze generation will just give up. [range: -1 ~ 600000, default: 20000]
    I:mazeTimeout=20000

    # Within this block radius, default structures won't spawn (in the main dimension). [range: 0.0 ~ 500.0, default: 30.0]
    S:minDistToSpawnForGeneration=30.0

    # List of spawn chance tweaks to structures: IceThorn:0.5 [default: ]
    S:spawnTweaks <
     >

    # Resource Expression that will be applied to each loading structure, determining if it should be set to 'active'. [default: ]
    S:structureGenerationMatcher=

    # Resource Expression that will be applied to each loading structure, determining if it should be loaded. [default: ]
    S:structureLoadMatcher=

    # How often do structures spawn? [range: 0.0 ~ 10.0, default: 1.0]
    S:structureSpawnChance=1.0

    # Biome Expression that will be checked for every single structure. Use this if you want to blacklist / whitelist specific biomes that shouldn't have structures. [default: ]
    S:universalBiomeMatcher=

    # Dimension Expression that will be checked for every single structure. Use this if you want to blacklist / whitelist specific dimensions that shouldn't have structures. [default: ]
    S:universalDimensionMatcher=

    # Transformer preset names that are gonna be applied to every single generating structure. Use this if you need to enforce specific rules (e.g. "don't ever spawn wood blocks" (with a replace transformer). [default: ]
    S:universalTransformerPresets <
     >
}


controls {
    # The key to be held when you want to make a secondary selection with block selectors [default: ctrl]
    S:blockSelectorModifierKeys=ctrl
}


decoration {
    I:asCommandPermissionLevel=4

    # The base weight of RC sapling generation types. The vanilla tree weight is 1 - if you want to fully replace vanilla trees, crank this up to something big. [range: 0.0 ~ 100000.0, default: 0.2]
    S:baseSaplingSpawnWeight=0.2

    # The base weight of RC village generation types. Vanilla average is about 10 - if you want to fully replace vanilla structures in villages, crank this up to something big. [range: 0 ~ 100000, default: 10]
    I:baseVillageSpawnWeight=10

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_big_mushroom=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_cactus=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_desert_well=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_fossil=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_mineshaft=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_nether_bridge=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_ocean_monument=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_scattered_feature=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_stronghold=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_tree=0.2

    # The base weight of this decoration type. The vanilla decorator has a weight of 1 - if you want to fully replace vanilla decoration, crank this up to something big. [range: 0.0 ~ 1000.0, default: 0.2]
    S:baseWeight_village=0.2

    # The chance to trigger any special sapling spawns at all. If you want to disable the big trees, set this to 0. [range: 0.0 ~ 1.0, default: 1.0]
    S:saplingTriggerChance=1.0
}


general {
    # The required permission level for /#as to function. Set to 2 for command blocks and OPs, 4 for only server, or -1 to disable. Note that this could be a security problem on low levels. [range: -1 ~ 10, default: 4]
    I:asCommandPermissionLevel=4

    # List of Command Expressions determining if a command can be executed. Example: #export:#3 | $Ivorforce [default: ]
    S:commandMatchers <
     >

    # The String that will be prefixed to every command, e.g. '#' -> '/#gen', '#paste' etc. [default: #]
    S:commandPrefix=#

    # Enabling this will make the mod register as little as possible, which enables it to be used server-side only. Note that this prevents you from editing or importing structures. [default: false]
    B:lightweightMode=false

    # Memorize decoration spawns like trees or mushrooms (for /#whatisthis). Since decoration is so common, it is recommended to use this only for debugging / balancing purposes. [default: false]
    B:memorizeDecoration=false

    # Memorize sapling spawns (for /#whatisthis). Since saplings are so common, it is recommended to use this only for debugging / balancing purposes. [default: false]
    B:memorizeSaplings=false

    # Disabling this will prevent spawn command blocks from notifying the server admins, as normal commands would. [default: false]
    B:notifyAdminOnBlockCommands=false

    # Once per world, post the status of ReC to the admins. [default: true]
    B:postWorldStatus=true

    # Whether player caches like the clipboard and previewed operations will be saved and loaded. [default: true]
    B:savePlayerCache=true
    S:spawnTweaks <
     >
}


visual {
    # Only show the edges of negative space blocks? (Improves performance in big builds) [default: true]
    B:hideRedundantNegativeSpace=true
}


