# Configuration file

general {
    # 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
        }

    }

}


