# Configuration file

general {
    # If set to LOCAL_ENCHANTMENTS, only the enchantments for the armor for the body part that is currently being damaged is taken into account. The strength of the armor is multiplied by 4, so it matches the vanilla default
    # If set to GLOBAL_ENCHANTMENTS, the enchantments of all armor pieces are taken into account for all body parts that have any kind of armor.
    # Valid values:
    # GLOBAL_ENCHANTMENTS
    # LOCAL_ENCHANTMENTS
    S:armorEnchantmentMode=LOCAL_ENCHANTMENTS

    # If true, max health will be capped at 6 hearts and absorption at 2 hearts per limb. If false, the health cap will be much higher (64 hearts normal and 16 absorption)
    B:capMaxHealth=false

    # Enabled additional debug logs - May slow down the game and will increase log file size
    # Only enable for special purposes
    B:debug=false

    # Set to true to enable the debuff sounds. Requieres enableDebuffs to be true
    B:enableSoundSystem=true

    # If true, many damage distributions will be more realistic, but this will also cause them to be harder
    # If enabled, e.g. drowing will only damage your body instead of your body and head last
    B:hardMode=true

    # If true, max health is scaled to your hearts, and the config entries get multiplier to match the max health
    B:scaleMaxHealth=true

    # Only effects the fallback random distribution.
    # If enabled, the default random damage distribution will be changed to leave critical limbs at 1hp if possible.
    # When there is too much damage, the damage will still kill the player. Other distributions that defined are not affected by this.
    B:useFriendlyRandomDistribution=false

    # Specifies how the vanilla health is calculated. Affects the visual health bar, as well as the value other mods get when they query the player health.
    # AVERAGE_ALL simply takes all limbs and calculates the average of it.
    # AVERAGE_CRITICAL takes all critical limbs and calculates the average of it
    # MIN_CRITICAl takes the smallest health value of all critical limb
    # Does not have any effect if all critical limbs have been disabled.
    # Valid values:
    # AVERAGE_ALL
    # AVERAGE_CRITICAL
    # MIN_CRITICAL
    # CRITICAL_50_PERCENT_OTHER_50_PERCENT
    S:vanillaHealthCalculation=AVERAGE_ALL

    # If true, all usages of setHealth from other mods will be captured. Should not cause any problems, but allow mods like scaling health bandages to apply
    B:watchSetHealth=true

    ##########################################################################################################
    # damagesystem
    #--------------------------------------------------------------------------------------------------------#
    # Settings regarding the max health of the body's parts. 2 = 1 heart
    ##########################################################################################################

    damagesystem {
        B:causeDeathBody=true
        B:causeDeathHead=true

        # Min: 2
        # Max: 12
        I:maxHealthBody=6

        # Min: 2
        # Max: 12
        I:maxHealthHead=6

        # Min: 2
        # Max: 12
        I:maxHealthLeftArm=6

        # Min: 2
        # Max: 12
        I:maxHealthLeftFoot=6

        # Min: 2
        # Max: 12
        I:maxHealthLeftLeg=6

        # Min: 2
        # Max: 12
        I:maxHealthRightArm=6

        # Min: 2
        # Max: 12
        I:maxHealthRightFoot=6

        # Min: 2
        # Max: 12
        I:maxHealthRightLeg=6
    }

    ##########################################################################################################
    # overlay
    #--------------------------------------------------------------------------------------------------------#
    # Settings regarding the health overlay when ingame
    ##########################################################################################################

    overlay {
        # Determines the transparency of the overlay. 200 = Maximum transparency, 0 = Fully opaque
        # Min: 0
        # Max: 200
        I:alpha=50

        # Determines how first aid should display armor on item tooltips.
        # REPLACE replaces the vanilla description with the one fitting first aid
        # APPEND will add the first aid values at the bottom
        # NONE will show the old vanilla values. Be advised this is purly visual, interally, the first aid value will always be used
        # Valid values:
        # REPLACE
        # APPEND
        # NONE
        S:armorTooltipMode=REPLACE

        # Disables the funny easter eggs on certain events
        B:enableEasterEggs=true

        # Specifies the type of the overlay HUD.
        # Valid values:
        # OFF
        # NUMBERS
        # HEARTS
        # PLAYER_MODEL
        S:overlayMode=PLAYER_MODEL

        # The relative point of the overlay
        # Valid values:
        # TOP_LEFT
        # TOP_RIGHT
        # BOTTOM_RIGHT
        # BOTTOM_LEFT
        S:pos=BOTTOM_RIGHT

        # True if the main health bar should be rendered (Will be average health)
        B:showVanillaHealthBar=true

        # The offset on the x axis
        I:xOffset=0

        # The offset on the y axis
        I:yOffset=0

        ##########################################################################################################
        # displaymode
        #--------------------------------------------------------------------------------------------------------#
        # Specifies when and how the HUD should be displayed
        ##########################################################################################################

        displaymode {
            # If set to true, the overlay will flash for a short moment if the health changed. Only affects PLAYER_MODEL overlay
            B:flash=true

            # Specifies how many ticks (20 ticks = 1 second) the overlay should be visible after health changed (healing/damaging)
            # If set to -1, the HUD is always visible
            # Min: -1
            # Max: 600
            I:visibleDurationTicks=200
        }

    }

    ##########################################################################################################
    # externalhealing
    #--------------------------------------------------------------------------------------------------------#
    # Settings regarding external healing system(like vanilla potions or natural regeneration
    ##########################################################################################################

    externalhealing {
        # Allow vanilla's natural regeneration. Requires "allowOtherHealingItems" to be true
        # **WARNING** This sets the gamerule "naturalRegeneration" for all of your worlds internally, so it persists even if you remove the mod
        B:allowNaturalRegeneration=false

        # If false, healing potions and other healing items will have no effect
        B:allowOtherHealingItems=true

        # The value vanilla's natural regeneration will be multiplied with. Has no effect if "allowNaturalRegeneration" is disabled
        # Min: 0.0
        # Max: 20.0
        D:naturalRegenMultiplier=1.0

        # The value external regen will be multiplied with. Has no effect if "allowOtherHealingItems" is disabled
        # Min: 0.0
        # Max: 20.0
        D:otherRegenMultiplier=1.0

        # Specifies how much percent of the max health should be restored when sleeping
        # Min: 0.0
        # Max: 1.0
        D:sleepHealPercentage=0.50
    }

    ##########################################################################################################
    # debuffs
    #--------------------------------------------------------------------------------------------------------#
    # Enable/Disable specify debuffs on specific body parts
    ##########################################################################################################

    debuffs {

        head {
            B:blindness=true
            B:nausea=false

            ##########################################################################################################
            # blindnessconditions
            #--------------------------------------------------------------------------------------------------------#
            # Holds the information how the debuff should be applied at different damage taken. Only use this if you know what you are doing.
            ##########################################################################################################

            blindnessconditions {
                # How much damage the user must have taken for the debuff to apply at the mapped length. Must be sorted so the **highest** value comes first. 2 = 1 heart
                # Min: 0.0
                # Max: 10.0
                D:damageTaken <
                    6.0
                    3.0
                 >

                # How long the debuff should stay. If the first condition from the damageTaken config is met, the first value in this list will be taken
                # Min: 0
                # Max: 32767
                I:debuffLength <
                    50
                    30
                 >
            }

            ##########################################################################################################
            # nauseaconditions
            #--------------------------------------------------------------------------------------------------------#
            # Holds the information how the debuff should be applied at different damage taken. Only use this if you know what you are doing.
            ##########################################################################################################

            nauseaconditions {
                # How much damage the user must have taken for the debuff to apply at the mapped length. Must be sorted so the **highest** value comes first. 2 = 1 heart
                # Min: 0.0
                # Max: 10.0
                D:damageTaken <
                    6.0
                    3.0
                 >

                # How long the debuff should stay. If the first condition from the damageTaken config is met, the first value in this list will be taken
                # Min: 0
                # Max: 32767
                I:debuffLength <
                    150
                    100
                 >
            }

        }

        body {
            B:nausea=true
            B:weakness=true

            ##########################################################################################################
            # nauseaconditions
            #--------------------------------------------------------------------------------------------------------#
            # Holds the information how the debuff should be applied at different damage taken. Only use this if you know what you are doing.
            ##########################################################################################################

            nauseaconditions {
                # How much damage the user must have taken for the debuff to apply at the mapped length. Must be sorted so the **highest** value comes first. 2 = 1 heart
                # Min: 0.0
                # Max: 10.0
                D:damageTaken <
                    6.0
                    3.0
                 >

                # How long the debuff should stay. If the first condition from the damageTaken config is met, the first value in this list will be taken
                # Min: 0
                # Max: 32767
                I:debuffLength <
                    100
                    50
                 >
            }

            ##########################################################################################################
            # weaknessconditions
            #--------------------------------------------------------------------------------------------------------#
            # Holds the information how the debuff should be applied at different health left. Only use this if you know what you are doing.
            ##########################################################################################################

            weaknessconditions {
                # How strong the potion effect should stay. If the first condition from the healthPercentageLeft config is met, the first value in this list will be taken
                # Min: 0
                # Max: 127
                I:debuffStrength <
                    2
                    1
                 >

                # How much health the user must have left for the debuff to apply at the mapped length. Must be sorted so the **lowest** value comes first
                # Min: 0.0
                # Max: 1.0
                D:healthPercentageLeft <
                    0.10999999940395355
                    0.20999999344348907
                 >
            }

        }

        arms {
            B:mining_fatigue=true

            ##########################################################################################################
            # miningfatigueconditions
            #--------------------------------------------------------------------------------------------------------#
            # Holds the information how the debuff should be applied at different health left. Only use this if you know what you are doing.
            ##########################################################################################################

            miningfatigueconditions {
                # How strong the potion effect should stay. If the first condition from the healthPercentageLeft config is met, the first value in this list will be taken
                # Min: 0
                # Max: 127
                I:debuffStrength <
                    2
                    1
                 >

                # How much health the user must have left for the debuff to apply at the mapped length. Must be sorted so the **lowest** value comes first
                # Min: 0.0
                # Max: 1.0
                D:healthPercentageLeft <
                    0.009999999776482582
                    0.20999999344348907
                 >
            }

        }

        legsandfeet {
            B:slowness=true

            ##########################################################################################################
            # slownessconditions
            #--------------------------------------------------------------------------------------------------------#
            # Holds the information how the debuff should be applied at different health left. Only use this if you know what you are doing.
            ##########################################################################################################

            slownessconditions {
                # How strong the potion effect should stay. If the first condition from the healthPercentageLeft config is met, the first value in this list will be taken
                # Min: 0
                # Max: 127
                I:debuffStrength <
                    4
                    2
                    1
                 >

                # How much health the user must have left for the debuff to apply at the mapped length. Must be sorted so the **lowest** value comes first
                # Min: 0.0
                # Max: 1.0
                D:healthPercentageLeft <
                    0.009999999776482582
                    0.20999999344348907
                    0.4099999964237213
                 >
            }

        }

    }

    ##########################################################################################################
    # internalhealing
    #--------------------------------------------------------------------------------------------------------#
    # Settings regarding the internal healing system
    ##########################################################################################################

    internalhealing {

        ##########################################################################################################
        # bandage
        #--------------------------------------------------------------------------------------------------------#
        # Settings for the bandage item
        ##########################################################################################################

        bandage {
            # The time it takes in the GUI to apply the item in milliseconds
            # Min: 0
            # Max: 16000
            I:applyTime=3000

            # The time it takes for a single heal to trigger. Total time this item is active = this * totalHeals
            # Min: 1
            # Max: 32767
            I:secondsPerHeal=4

            # The total heals this item does when applied. 1 heal = half a heart
            # Min: 1
            # Max: 127
            I:totalHeals=6
        }

        ##########################################################################################################
        # plaster
        #--------------------------------------------------------------------------------------------------------#
        # Settings for the plaster item
        ##########################################################################################################

        plaster {
            # The time it takes in the GUI to apply the item in milliseconds
            # Min: 0
            # Max: 16000
            I:applyTime=2000

            # The time it takes for a single heal to trigger. Total time this item is active = this * totalHeals
            # Min: 1
            # Max: 32767
            I:secondsPerHeal=2

            # The total heals this item does when applied. 1 heal = half a heart
            # Min: 1
            # Max: 127
            I:totalHeals=3
        }

    }

}


