# Configuration file

general {

    ##########################################################################################################
    # server-side config
    #--------------------------------------------------------------------------------------------------------#
    # Server-Side Config
    ##########################################################################################################

    "server-side config" {
        # Add an additional sound when critical striking a target
        B:"Additional Crit Sound"=true

        # Add an additional sound when striking a target
        B:"Additional Hit Sound"=true

        # Attacking an enemy will not interrupt your sprint
        B:"Attack Does Not Interrupt Sprint"=false

        # Requires your energy to be full in order to attack
        B:"Attack Requires Full Energy"=false

        # Enables a fallback check if modded attacks bypass RLCombats's packets
        B:"Enable Mixin Compat Fallback"=true

        # Allows you to attack with your offhand
        B:"Enable Offhand Attack"=true

        # Blacklisted entity classes for attacking with offhand, you will not be able to attack any entity with offhand that extends these classes
        S:"Entity Offhand Blacklist" <
            net.minecraft.entity.passive.EntityHorse
            net.minecraft.entity.item.EntityArmorStand
            net.minecraft.entity.passive.EntityVillager
            net.minecraft.entity.item.EntityItemFrame
         >

        # Maximum distance from a target to allow jump crits
        # Min: 0.0
        # Max: 10.0
        D:"Jump Crit Max Distance"=2.0

        # Requires your energy to be full in order to jump crit
        B:"Jump Crit Requires Full Energy"=true

        # Should warnings from parsing config entry lists be logged
        B:"Log Config List Warnings"=true

        # The efficiency of offhand attacks if Weaker Offhand is enabled
        # Min: 0.0
        # Max: 1.0
        D:"Offhand Efficiency"=0.5

        # Whitelisted item classes used for attacking from offhand
        S:"Offhand Item Class Whitelist" <
            net.minecraft.item.ItemSword
            net.minecraft.item.ItemAxe
            net.minecraft.item.ItemSpade
            net.minecraft.item.ItemPickaxe
            net.minecraft.item.ItemHoe
            com.mujmajnkraft.bettersurvival.items.ItemBattleAxe
            com.mujmajnkraft.bettersurvival.items.ItemDagger
            com.mujmajnkraft.bettersurvival.items.ItemHammer
         >

        # Blacklisted item ids in the format "domain:itemname" used for attacking from offhand
        S:"Offhand Item ID Blacklist" <
         >

        # Whitelisted item ids in the format "domain:itemname" used for attacking from offhand
        S:"Offhand Item ID Whitelist" <
         >

        # Allows crits to happen based on a random chance
        B:"Random Crit"=true

        # Chance of a crit if Random Crit is enabled
        # Min: 0.0
        # Max: 1.0
        D:"Random Crit Chance"=0.20000000298023224

        # Requires your energy to be full in order to randomly crit
        B:"Random Crit Requires Full Energy"=true

        # If RLCombat should attempt to swing through blocks that have no collision when attacking enemies
        B:"Swing Through Passable Blocks"=true

        # Attacking with the offhand does less damage
        B:"Weaker Offhand"=true
    }

    ##########################################################################################################
    # client-side config
    #--------------------------------------------------------------------------------------------------------#
    # Client-Side Config
    ##########################################################################################################

    "client-side config" {
        # How far held items move during the breathing animation
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:"Breathing Animation Intensity"=0.019999999552965164

        # How fast held items move during the breathing animation
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:"Breathing Animation Speed"=0.07999999821186066

        # If the breathing and too close animations should play for all items or only defined custom weapons
        B:"Breathing/Too Close Animation on All Items"=true

        # If Custom Weapon Swing Sounds is enabled, should swings with undefined items/empty hands also make a sound
        B:"Custom Punch Swing Sounds"=false

        # If RLCombat should display custom weapon animations while swinging (Credit to and modified from ImmersiveCombat)
        B:"Custom Weapon Attack Animations"=false

        # If RLCombat should play custom weapon sounds for equipping (Credit to and modified from ImmersiveCombat)
        B:"Custom Weapon Equip Sounds"=false

        # Multiplier to the volume for custom weapon equip and sheathe sounds
        D:"Custom Weapon Equip/Sheathe Volume Multiplier"=1.0

        # If RLCombat should also display custom weapon animations while mining (Credit to and modified from ImmersiveCombat)
        B:"Custom Weapon Mining Animations"=false

        # If RLCombat should play custom weapon sounds for sheathing (Credit to and modified from ImmersiveCombat)
        B:"Custom Weapon Sheathe Sounds"=false

        # If Custom Weapon Sounds are enabled, makes them all only play in mono, instead of using stereo
        B:"Custom Weapon Sounds Mono"=false

        # If RLCombat should play custom weapon sounds for swinging (Credit to and modified from ImmersiveCombat)
        B:"Custom Weapon Swing Sounds"=false

        # Multiplier to the volume for custom weapon swing sounds
        D:"Custom Weapon Swing Volume Multiplier"=1.0

        # Item classes with custom weapon entries to be used for animations and sounds
        # Format: ItemClass, AttackAnimation, MiningAnimation, SoundType, HandType, Priority
        #  
        # ItemClass: The class or parent class of the item you want to define
        # AttackAnimation: The animation to be used during attack swing
        # MiningAnimation: The animation to be used during mining swing
        # SoundType: The sound type to be used to determine what sounds are played
        # HandType: The hand type to be used to also determine what sounds are played
        # Priority: The class priority, for if an item is an instance of multiple defined classes
        #  
        # Valid Animations: SWEEP_COMBO, SWEEP_1, SWEEP_2, CHOP, DIG, STAB, STAB_CAESTUS, PUNCH
        # Valid SoundTypes: BLADE, AXE, BLUNT, DEFAULT
        # Valid HandTypes: ONEHAND, TWOHAND
        # 
        S:"Item Class Custom Weapon Entries" <
            net.minecraft.item.ItemSword, SWEEP_1, PUNCH, BLADE, ONEHAND, 1
            net.minecraft.item.ItemAxe, CHOP, CHOP, AXE, ONEHAND, 1
            net.minecraft.item.ItemSpade, CHOP, DIG, AXE, ONEHAND, 1
            net.minecraft.item.ItemPickaxe, CHOP, CHOP, AXE, ONEHAND, 1
            net.minecraft.item.ItemHoe, CHOP, DIG, AXE, ONEHAND, 1
            com.oblivioussp.spartanweaponry.item.ItemDagger, STAB, PUNCH, BLADE, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemParryingDagger, STAB, PUNCH, BLADE, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemLongsword, SWEEP_1, PUNCH, BLADE, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemKatana, SWEEP_1, PUNCH, BLADE, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemSaber, SWEEP_1, PUNCH, BLADE, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemRapier, STAB, PUNCH, BLADE, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemGreatsword, SWEEP_1, PUNCH, AXE, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemClub, CHOP, CHOP, BLUNT, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemHammer, CHOP, CHOP, BLUNT, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemWarhammer, SWEEP_1, PUNCH, BLUNT, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemSpear, STAB, PUNCH, BLADE, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemHalberd, SWEEP_1, PUNCH, AXE, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemPike, STAB, PUNCH, BLUNT, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemLance, STAB, PUNCH, BLUNT, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemThrowingKnife, STAB, PUNCH, BLADE, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemThrowingAxe, CHOP, PUNCH, AXE, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemJavelin, STAB, PUNCH, BLUNT, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemBoomerang, PUNCH, PUNCH, BLUNT, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemBattleaxe, SWEEP_1, PUNCH, AXE, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemMace, SWEEP_1, PUNCH, AXE, ONEHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemGlaive, SWEEP_1, PUNCH, AXE, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemQuarterstaff, SWEEP_1, PUNCH, BLUNT, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemScythe, SWEEP_1, PUNCH, BLADE, TWOHAND, 2
            com.oblivioussp.spartanweaponry.item.ItemCaestus, STAB_CAESTUS, STAB_CAESTUS, DEFAULT, ONEHAND, 2
            com.dhanantry.scapeandrunparasites.item.tool.WeaponMeleeAxe, CHOP, CHOP, AXE, TWOHAND, 2
            com.dhanantry.scapeandrunparasites.item.tool.WeaponMeleeCleaver, SWEEP_1, PUNCH, AXE, TWOHAND, 2
            com.dhanantry.scapeandrunparasites.item.tool.WeaponMeleeLance, STAB, PUNCH, BLUNT, TWOHAND, 2
            com.dhanantry.scapeandrunparasites.item.tool.WeaponMeleeMaul, SWEEP_1, PUNCH, AXE, TWOHAND, 2
            com.dhanantry.scapeandrunparasites.item.tool.WeaponMeleeScythe, SWEEP_1, PUNCH, BLADE, TWOHAND, 2
            com.dhanantry.scapeandrunparasites.item.tool.WeaponMeleeSword, SWEEP_1, PUNCH, BLADE, TWOHAND, 2
            com.mujmajnkraft.bettersurvival.items.ItemHammer, CHOP, CHOP, BLUNT, ONEHAND, 2
            com.mujmajnkraft.bettersurvival.items.ItemSpear, STAB, PUNCH, BLUNT, ONEHAND, 2
            com.mujmajnkraft.bettersurvival.items.ItemDagger, STAB, PUNCH, BLADE, ONEHAND, 2
            com.mujmajnkraft.bettersurvival.items.ItemBattleAxe, SWEEP_1, PUNCH, AXE, ONEHAND, 2
            com.github.alexthe666.iceandfire.item.ItemTideTrident, PUNCH, PUNCH, BLADE, ONEHAND, 2
            com.github.alexthe666.iceandfire.item.ItemTrollWeapon, PUNCH, PUNCH, BLUNT, TWOHAND, 2
         >

        # Item ids in the format "domain:itemname" with custom weapon entries to be used for animations and sounds
        # (Takes priority over Item Class Entries)
        # Format: ItemID, AttackAnimation, MiningAnimation, SoundType, HandType
        #  
        # ItemClass: The class or parent class of the item you want to define
        # AttackAnimation: The animation to be used during attack swing
        # MiningAnimation: The animation to be used during mining swing
        # SoundType: The sound type to be used to determine what sounds are played
        # HandType: The hand type to be used to also determine what sounds are played
        #  
        # Valid Animations: SWEEP_COMBO, SWEEP_1, SWEEP_2, CHOP, DIG, STAB, STAB_CAESTUS, PUNCH
        # Valid SoundTypes: BLADE, AXE, BLUNT, DEFAULT
        # Valid HandTypes: ONEHAND, TWOHAND
        # 
        S:"Item ID Custom Weapon Entries" <
         >

        # If all attacks should spawn the sweep particles
        B:"More Sweep Particles"=false

        # List of words or item names to be compared against to give items non-metallic sounds when equipped/sheathed/swung
        S:"Non-Metallic Sound Word List" <
            flint
            wood
            stone
         >

        # If the vanilla attack ready icon should be rendered when both hands are fully cooled down and an entity is pointed at
        B:"Render Attack Ready Icon"=false

        # If weapons should tilt forward when the player sprints
        B:"Sprinting Weapon Tilt Animation"=false

        # How much your camera pitch moves when swinging a weapon
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:"Swing Animation Camera Pitch"=1.0

        # How much your camera yaw moves when swinging a weapon
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:"Swing Animation Camera Yaw"=1.0

        # If the too close animation should play when too close to blocks
        B:"Too Close Animation Blocks"=true

        # The distance under which the too close animation will play
        # Min: 0.20000000298023224
        # Max: 2.0
        D:"Too Close Animation Distance"=0.699999988079071

        # If the too close animation should play when too close to entities
        B:"Too Close Animation Entities"=true

        # How far held items move during the too close animation
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:"Too Close Animation Intensity"=0.4000000059604645
    }

}


