# Configuration file

Config {
    # If set to False, parameters from this config will not be used. [default: true]
    B:enabled=true
}


Deposit {
    # Syntax: targetId -> replacementId
    # With weight: targetId -> replacementId, weight
    S:customReplacements <
     >

    # List of descendants (deposits/geodes) that will attempt to be generated after this (parent) one.
    # Format: threshold% -> descendant, chance% [:group]
    #   <threshold> - minimum percentage of the parent's size that must be reached to begin generating this descendant
    #   <descendant> - ID of the descendant in the following format: deposit:name or geode:name
    #   <chance> - chance of generating the descendant (from 0 to 100%)
    #   <group> - group name (optional parameter). Can contain only letters, digits or underscores [a-zA-Z0-9_].
    # All listed descendants will attempt to be generated in random order.
    # Group descendants to achieve logical "or" behaviour (only one descendant from each group will be generated).
    # Starting position will be chosen within the chunk where the parent's size has reached the threshold value.
    # Examples:
    #    90% -> deposit:diamond, 10%
    #    80% -> deposit:iron, 40% :metals
    #    70% -> geode:amethyst, 20%
    S:descendants <
     >

    # List of ores and their weights for this deposit.
    # Syntax: oreId [, weight]
    # 
    # Id is a basic unit (block or item) identifier in <modId:unitName:meta> format.
    # ModId can be omitted for vanilla items. Meta can be omitted too if it equals 0.
    # UnitName must be lowercase, words separated by '_', words order - from private to common (example: black_iron_ore).
    # Use '*' char or '[]' as meta value to specify all possible values (all block states).
    # To define multiple block states, you can use block properties. The format is <modId:blockName:[prop1=value1, prop2=value2]>
    # Also you may use tags. The format is <#modId:tagPath> (example: #forge:ores/copper).
    # 
    # Weight is used to define the proportions of the ores.
    # For example, the definition:
    #      #forge:ores/gold, 1
    #      #forge:ores/iron, 5
    # means that gold and iron will be in the proportion 1 to 5.
    # 
    S:ores <
        adpother:carbon:[density=heavy], 50
        adpother:sulfur:[density=heavy], 1
     >

    # Rarity (in chunks). The higher the value, the rarer the generation will be.
    # Example: a value of 1000 means that generation will occur approximately once every 1000 chunks.
    #  [range: 0 ~ 256000, default: 0]
    I:rarity=1000

    # List of blocks that can be replaced with this ore.
    S:replaceableBlocks <
        #minecraft:stone_ore_replaceables
        air:*
     >

    # Determines whether this deposit is considered vanilla. [default: false]
    B:vanilla=false

    ##########################################################################################################
    # Dimensions
    #--------------------------------------------------------------------------------------------------------#
    # List of dimensions which this ore can be generated in.
    # Dimension is specified by its registry name (e.g: minecraft:overworld, minecraft:the_nether, minecraft:the_end, etc.)
    # Each dimension must be on a separate line without any delimiters.
    # If the whitelist is set, the blacklist will be ignored.
    ##########################################################################################################

    Dimensions {
        S:blackList <
         >
        S:whiteList <
            minecraft:overworld
         >
    }

    ##########################################################################################################
    # Biomes
    #--------------------------------------------------------------------------------------------------------#
    # List of biomes which this ore can be generated in.
    # Biome is specified by its registry name (case-insensitive) or by its tag with '#' prefix.
    # Examples: minecraft:forest, #snowy
    # Each biome must be on a separate line without any delimiters.
    # If the whitelist is set, the blacklist will be ignored.
    ##########################################################################################################

    Biomes {
        S:blackList <
         >
        S:whiteList <
         >
    }

    ##########################################################################################################
    # Altitude
    #--------------------------------------------------------------------------------------------------------#
    # Altitude which this ore can be generated at.
    ##########################################################################################################

    Altitude {
        #  [range: -2147483648 ~ 2147483647, default: 0]
        I:max=64

        #  [range: -2147483648 ~ 2147483647, default: 0]
        I:min=4
    }

    Miscellaneous {
        # Whether or not the ore blocks can be exposed to air. [default: true]
        B:exposed=false

        # Maximum number of attempts to generate this ore, picking different starting points, until all conditions are met. [range: 1 ~ 1024, default: 16]
        I:maxAttempts=16

        # Ratio of height to width.
        # Values greater than 1 will result in tall shapes, whilst values less than 1 will result in flat shapes.
        #  [range: 0.0 ~ 10.0, default: 1.0]
        S:proportions=1.0

        # If enabled, each ore block will be checked against the given altitude and biome restrictions, rather than the first one. [default: false]
        B:strictBounds=false

        # If enabled, the starting point will be checked only against replaceable blocks, ignoring custom replacements. [default: false]
        B:strictStart=false
    }

    ##########################################################################################################
    # Size
    #--------------------------------------------------------------------------------------------------------#
    # Size limits (in blocks) of this deposit.
    ##########################################################################################################

    Size {
        #  [range: 1 ~ 256000, default: 0]
        I:max=500

        #  [range: 1 ~ 256000, default: 0]
        I:min=50
    }

    ##########################################################################################################
    # Indicator
    #--------------------------------------------------------------------------------------------------------#
    # Above-ground indicator for this deposit (e.g., a rare flower or a combination of circles of different flowers)
    ##########################################################################################################

    Indicator {
        # Circles of indicators and their radiuses.
        # Syntax: indicatorId [, circleRadius]
        # The order of the circles is always shuffled.
        # The circles with the same radius will be randomly selected.
        # If the radius is not defined, it will be selected from the minimum available, starting from 1.
        # Examples:
        #   minecraft:cornflower, 2
        #   minecraft:orange_tulip, 4
        # 
        S:circles <
         >

        # Percentage of the indicator shape that will be visible. [range: 0.0 ~ 100.0, default: 60.0]
        S:continuity=60.0

        # Maximum displacement of the indicator shape elements. [range: 0 ~ 16, default: 1]
        I:distortion=1

        # ID of a block (for a single-block indicator), a placed_feature or ID of a structure to bind this deposit to. [default: ]
        S:id=

        # Percentage of the deposit full size required to create an above-ground indicator.
        # If the indicator is a structure - the chance of generating a deposit under it. [range: 0.0 ~ 100.0, default: 30.0]
        S:threshold=30.0
    }

}


