# Configuration file

general {

    client {

        hud {
            # You must first enable this before making any changes to the GUI!
            B:"Unlock Hud"=false

            # How far away from the default position the bar is horizontally when unlocked.
            # Increase this value to go right, decrease it to go left.
            # Min: -2147483648
            # Max: 2147483647
            I:"X Offset"=0

            # How far away from the default position the bar is vertically when unlocked.
            # Increase this value to go down, decrease it to go up.
            # Min: -2147483648
            # Max: 2147483647
            I:"Y Offset"=0
        }

        sound {
            B:"Enable 'Ding' Sound"=true
        }

        controls {
            # Set to 0 to disable. Set to 1 to make dodging left, right or backwards require a double tap, and forwards requiring a tap of the dodge button. Set to 2 to allow dodging in all directions by a double tap, however double tapping forwards will make you sprint.
            # Min: 0
            # Max: 2
            I:"Double Tap Mode"=0

            # How many system ticks you have between double tapping (these are NOT minecraft ticks, and are way faster). Increase if you have motor issues or are like me and suck at gaming, decrease if you keep accidentally double tapping.
            # Min: 1
            # Max: 2147483647
            I:"Double Tap Ticks"=250
        }

    }

    common {

        balance {
            # Whether or not the player can dodge in mid-air. Please note this is always enabled in Creative and Spectator mode, and if disabled can be over-ruled with conditions set in the modpacks section of the config!
            B:"Always allow dodge while airborne"=false

            # Whether you can dodge whilst sneaking or blocking. By default this is true incase you keep accidentally dodging.
            B:"Disable dodge whilst Sneaking/Blocking"=true

            # How much exhaustion is added when dodging. Exhaustion is a value that decreases your hunger. For reference, sprinting adds 0.01 exhaustion per meter, and the Hunger effect adds 0.1 per second.
            # Min: 0.0
            # Max: 40.0
            D:"Dodge Exhaustion"=0.0

            # How far the player dodges by default. This value can be added on or decreased by equipping items or meeting conditions from other mods, so view it as a baseline for all players on the server. This value is EXTREMELY sensitive!
            # Min: 0.0
            # Max: 1.7976931348623157E308
            D:"Dodge Power"=1.15

            # How much you hop of the ground when dodging. Please note that this may ever so slightly increase how far you dodge, so you may need to reduce dodge power in accordance.
            # Min: 0.0
            # Max: 1.7976931348623157E308
            D:"Dodge Verticallity"=0.0

            # How many half drumsticks the player needs to dodge. The default six is the same as sprinting.
            # Min: -1
            # Max: 20
            I:"Hunger Requirement"=6

            # Whether to maintain the player's current velocity when dodging.
            B:"Keep Velocity"=true
        }

        cooldown {
            # How long the cooldown bar takes to deplete in Ticks. This value can be increased or decreased by other mods, so view this as the standard time for all players on the server. Anything above 180 will never decrease because numbers are evil.
            # Min: 1
            # Max: 180
            I:"Cooldown Duration"=60

            # Toggles whether you need to wait for a cooldown bar in order to dodge.
            B:"Enable Cooldown"=true
        }

        particles {
            # Affects all Players on the world and is overwritten by server config
            B:"Display Particles"=true
        }

    }

    modpacks {
        # Will not work without GameStages installed! Toggles whether you need the gamestage 'can_dodge_airborne' to dodge in midair. If enabled, this overrules 'always allow dodge while airborne'.
        B:"Midair requires Gamestage"=false

        # Toggles whether you need either the gamestage 'can_dodge' or the potion effect 'can_dodge' to dodge. Does not require gamestages to be installed if you only want to check for the potion effect!
        B:"Requires Gamestage or Potion Effect"=false

        # Toggles whether you need the reskillable dodge skill to dodge.
        B:"Requires Skill"=false
    }

    "other movement" {

        "wall jump" {
            # A value to prevent spamming the walljump. Keep this low or you won't be able to jump much!
            # Min: 0
            # Max: 2147483647
            I:Cooldown=3

            # Toggles whether you can WallJump. To use, press space against a wall to bounce off of it.
            B:"Enable Walljump"=false

            # How many half drumsticks the player needs to wall jump. The default six is the same as sprinting.
            # Min: -1
            # Max: 20
            I:"Hunger Requirement"=6

            # How many walljumps you have before touching the floor.
            # Min: 0
            # Max: 2147483647
            I:"Jump Amount"=3

            # Toggles whether you only have X amount of jumps before touching the floor.
            B:"Limit Jumps"=true

            # Toggles whether you need the Walljumping trait I've added to reskillable to walljump. NOTE: Enable Walljump must be set to true.
            B:"Requires Trait"=false

            # How much wide of an angle you have to face away from the wall to kick off it. Decrease this value to make it so you have to face away FURTHER.
            # Min: 0.0
            # Max: 0.3
            D:"Wall Jump Angle (Read me!)"=0.16

            # How much exhaustion is added when wall-jumping. Exhaustion is a value that decreases your hunger. For reference, sprinting adds 0.01 exhaustion per meter, and the Hunger effect adds 0.1 per second.
            # Min: 0.0
            # Max: 40.0
            D:"Wall Jump Exhaustion"=0.0

            # How high players are pushed up from the wall.
            # Min: 0.0
            # Max: 1.7976931348623157E308
            D:"Wall Jump Height"=0.5

            # How far players are pushed away from the wall.
            # Min: 0.0
            # Max: 1.7976931348623157E308
            D:"Wall Jump Pushback"=0.4

            # How far away from the wall you can be to dodge.
            # Min: 0.0
            # Max: 100.0
            D:"Wall Jump Range"=0.26
        }

        "ledge grab" {
            # Toggles whether you can LedgeGrab. To use, press shift against the top of a block to climb up it. MUST BE ENABLED BY BOTH SERVERS AND CLIENTS
            B:"Enable Ledgegrab"=false

            # How high you're pushed when ledgegrabbing. Really you should keep this under one or even 0.5. But I've let you go up to 50 if you wanna mess around :)
            # Min: 0.0
            # Max: 50.0
            D:"Grab Boost"=0.46

            # How many half drumsticks the player needs to ledge grab. The default six is the same as sprinting.
            # Min: -1
            # Max: 20
            I:"Hunger Requirement"=6

            # How much exhaustion is added when ledge-grabbing. Exhaustion is a value that decreases your hunger. For reference, sprinting adds 0.01 exhaustion per meter, and the Hunger effect adds 0.1 per second.
            # Min: 0.0
            # Max: 40.0
            D:"Ledge Grab Exhaustion"=0.0

            # Toggles whether you need the Ledgegrabbing trait I've added to reskillable to wallgrab. NOTE: Enable Ledgegrab must be set to true.
            B:"Requires Trait"=false
        }

    }

    "armor weights" {
        # Insert values as a comma seperated string, I've already done all the vanilla ones for you, but feel free to edit them, and add custom values for modded armor like this: modid:itemname=value
        S:"Armor Weights"=minecraft:leather_boots=1,minecraft:leather_leggings=2,minecraft:leather_chestplate=3,minecraft:leather_helmet=1,minecraft:iron_boots=2,minecraft:iron_leggings=3,minecraft:iron_chestplate=4,minecraft:iron_helmet=2,minecraft:diamond_boots=3,minecraft:diamond_leggings=4,minecraft:diamond_chestplate=5,minecraft:diamond_helmet=3,minecraft:gold_boots=2,minecraft:gold_leggings=2,minecraft:gold_chestplate=3,minecraft:gold_helmet=2,minecraft:chainmail_boots=1,minecraft:chainmail_leggings=2,minecraft:chainmail_chestplate=3,minecraft:chainmail_helmet=1,minecraft:elytra=2

        # This is slightly complex, so please read carefully! Tiers allow you to add different levels of power and cooldown to dodging depending on how heavy the armor the player is wearing is. You format each tier like so: minimumWeightToAccessTier=powerOfTier/cooldownOfTier, and seperate each tier with a comma. The tiers NEED to increase in weight requirements, so for example, the first tier must always start at 0, then the next could start at 5... then 7... and so on. The last tier you enter will prevent the player from dodging regardless of the power or cooldown you set. So for example 100=100/0 would completely prevent the player from dodging if they had a weight of over 100.
        S:"Dodge Tiers"=0=1.4/30,8=0.8/60,12=0.6/80,15=0/0

        # Whether or not you want a tiered dodging system similar to Dark Souls. I recommend this heavily! This was suggested by SandwichHorror so go buy them a coffee or something.
        B:"Enable Weight System"=false
    }

}


