- Fixes
- Port
Changes:
- Split Recovery out from Combatify Extras, into new datapack combatify:shield_enchantments- Two new shield enchants, Thorned (basically Thorns but for a shield), and Curse of Delay (quintuples shield disable time)
 
- Added combatify:copper_age_rebalancedatapack, introduces rebalances for the copper (1.21.9 only), gold, and iron tiers to make them all more viable (especially gold) but still outclassed by higher tiers in general
- Snowball stack size and (including eggs) cooldown patches now use tags combatify:becomes_normal_stack_sizeandcombatify:projectiles_with_cooldowns
- Fast drinkable items are now determined by the tag combatify:fast_drinkables
Config Changes:
- Added sweepConditionsMatchMiss, allowing sweep attacks when hitting an entity to happen midair unless you use a knockback attack or critical attack
- Added mobsUsePlayerAttributes, allowing mobs to have the functions of attack speed and attack reach (with different default values than players)
- Added aimAssistTicks(0 by default), controls for how many ticks a picked entity will be retained for, allowing for easier hits, as in CTS 5
- Removed ctsKBandmidairKBconsolidated intoknockbackModeascts_8candmidair- Now also has the options vanillafor vanilla kb,oldfor 1.8 kb, andcts_5for knockback from the fifth combat test
 
- Now also has the options 
- fishingRodKBnow uses accurate velocity for rods from 1.8
- Mobs now only use shields if they know you can hit them.
- Mobs minimum distance to start sprinting is now based on difficulty (5 blocks on hard, 6 on normal, and 8 on easy)
- Tiered shields have been buffed, now giving 0.3 knockback resistance for base and copper, 0.4 for iron, gold, and diamond, and 0.5 for netherite
- Netherite Shields now have 1 base protection
- Now chainmail armor is accompanied by a wooden shield for mobs
 
- Knives have been nerfed to 2.5 reach
- Retained attacks in vanilla now run missed attacks when they cannot hit a target
Fixes:
- Fixed incompatibilities caused by the knockback delay fix
- Fixed mobs sprinting to flee the sun not working in production
- Fixed Copper Shields not showing base protection in their tooltip
- Fixed datapack errors relating to 1.21.5's minecraft:blocks_attackscomponent
- Fixed shield crouch use anim
- Fixed bugged arm model when skeletons use shields
- Fixed 1.21 drinking time and egg/snowball cooldowns
- Fixed dropping an item in vanilla triggering a sweep attack
Changes:
- Added separate datapacks for the two mace weapon types.
- Added a "Projectile Charge Indicator", showing when a projectile can be shot from weapons which use a charge.
- Sodium Video Settings Support.
- Updated all custom shield textures to better align with the Copper Shield added in 1.21.9
Config Changes:
- Added the config option disableLoyaltyOnHitEntity, disabling the Trident immediately returning to the holder when hitting a entity with Loyalty, instead dropping to the ground first.
- Added the config option delayEntityUpdates, delaying the entity trackers syncing to the players until after the entity has ticked, fixing MC-297196.
- When mobsCanSprintis on, mobs fleeing from the sun will now sprint towards safety.
Fixes:
- Fixed issues with crits when strengthAppliesToEnchantsis off
- Fixed sweeping dealing full damage
- Swing Through Grass no longer sometimes breaks blocks when not in range.
- Optimised JavaScript implementation by, on average, around 1000x.
- Fixed several bugs caused by backporting to 1.21.1 rather than updating it directly.
Changes:
- Default shield now no longer knocks back the attacker, split into new datapack combatify:default_shield_attacker_kb
- Added dual attack indicators, indicating fast hits and charged hits separately. Has three modes: off, bottom of crosshair (recommended), sides of crosshair
Config Changes:
- None
Fixes:
- Combatify State no longer gets reset on leaving a server/world
- Fixed issues 1,2,4,5,6,7,10,12.5,14,15, and 16 mentioned in issue #101 as well as other bugs
- Corrected shield protection arc to 73.8723797, the mathematically correct value to CTS



