abilitiesData:
    abilities:
        rage:
            # Highest level to which the ability can be upgraded
            maxLevel: 10
            # Relic level at which the ability becomes unlocked
            requiredLevel: 0
            # Number of leveling points needed to increase the ability level
            requiredPoints: 1
            stats:
                duration:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 4.0
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 2.0
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: 0.1
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_BASE
                incoming_damage:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 0.025
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 0.05
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: 0.05
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_BASE
                dealt_damage:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 0.075
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 0.025
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: 0.1
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_BASE
        phlebotomy:
            # Highest level to which the ability can be upgraded
            maxLevel: 10
            # Relic level at which the ability becomes unlocked
            requiredLevel: 5
            # Number of leveling points needed to increase the ability level
            requiredPoints: 1
            stats:
                heal:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 2.5E-4
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 1.0E-4
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: 0.1
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_BASE
                attack_speed:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 0.01
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 0.005
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: 0.05
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_BASE
                movement_speed:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 0.025
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 0.01
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: 0.1
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_BASE
        spurt:
            # Highest level to which the ability can be upgraded
            maxLevel: 10
            # Relic level at which the ability becomes unlocked
            requiredLevel: 10
            # Number of leveling points needed to increase the ability level
            requiredPoints: 1
            stats:
                damage:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 0.25
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 0.1
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: 0.1
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_BASE
                distance:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 8.0
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 3.0
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: 0.3
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_BASE
                cooldown:
                    # Maximum base value of the stat. A random value within this range is assigned when the relic is first created
                    maxInitialValue: 15.0
                    # Maximum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    maxThresholdValue: 1.7976931348623157E308
                    # Minimum base value of the stat. A random value within this range is assigned when the relic is first created
                    minInitialValue: 20.0
                    # Minimum threshold value for the stat, representing hard limits that cannot be surpassed through ability level upgrades or other methods
                    minThresholdValue: 4.9E-324
                    # Modifier applied to the base value of the stat, depending on the [upgradeOperation] parameter.
                    upgradeModifier: -0.075
                    # Type of mathematical operation used to calculate the stat's value based on the ability level. Supported operations include:
                    # MULTIPLY_BASE: x + ((x * y) * z),
                    # MULTIPLY_TOTAL: x * (y + 1)^z,
                    # ADD: x + (y * z).
                    # 
                    # ...where x - Base stat value, y - Value of [upgradeModifier], z - Current relic level
                    upgradeOperation: MULTIPLY_TOTAL
levelingData:
    # Amount of experience required to level up to relic level 1
    initialCost: 100
    # Maximum level of the relic
    maxLevel: 20
    # Increment in experience required for each subsequent level of the relic
    step: 100
lootData:
    # List of key-value pairs where the key is a textual identifier for the loot table (supporting regular expressions) and the value represents the probability of generating the relic within the specified bounds
    entries:
        minecraft:chests/ruined_portal: 0.025
        '[\w]+:chests\/[\w_\/]*(nether|hell|lava|magma|fire|burn|fortress)[\w_\/]*': 0.025
        '[\w]+:chests\/[\w_\/]*(bastion|piglin)[\w_\/]*': 0.025
