CurseForge · Minecraft mod
Advanced Armor Damage Limit
Limit per-hit armor durability damage with a legacy percentage cap or custom expressions based on armor durability and Unbreaking level.
Quick answer
Which Advanced Armor Damage Limit release should I use?
Advanced Armor Damage Limit advanced-armor-damage-limit-forge-1.20.1-1.1.0-all targets 1.20.1 with Forge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is Advanced Armor Damage Limit required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does Advanced Armor Damage Limit advanced-armor-damage-limit-forge-1.20.1-1.1.0-all need?
advanced-armor-damage-limit-forge-1.20.1-1.1.0-all. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add Advanced Armor Damage Limit without breaking your instance.
Built for Advanced Armor Damage Limit advanced-armor-damage-limit-forge-1.20.1-1.1.0-all. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use advanced-armor-damage-limit-forge-1.20.1-1.1.0-all. It targets 1.20.1 with Forge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside advanced-armor-damage-limit-forge-1.20.1-1.1.0-all. It opens that exact file at the source.
About this project
What does Advanced Armor Damage Limit add?
Advanced Armor Damage Limit
Advanced Armor Damage Limit prevents a single hit from removing an excessive amount of durability from each armor item. It is designed for modpacks where high-durability armor should remain meaningfully more durable instead of receiving proportionally larger durability losses.
Features
- Legacy percentage mode for simple setups.
- Custom per-item durability damage expressions.
- Expressions can read the armor item's maximum durability through
max_durability. - Expressions can read the item's Unbreaking enchantment level through
unbreaking. - Per-item protection blacklist for modded armor.
- Invalid expressions are reported in the log and do not prevent the game from starting.
- The YiRan Expression Library is bundled in the released mod JAR; no separate library installation is required.
Custom expressions
Set Armor Damage Expression in the Forge or NeoForge configuration, or armor_damage_expression in the Fabric properties file. The expression result is the maximum durability damage for one armor item from one hit. The actual durability damage is also limited by the incoming damage.
Available variables:
max_durability: maximum durability of the armor item.unbreaking: Unbreaking enchantment level on the armor item.
Example:
min(15 - unbreaking, max_durability * 0.05)
This example limits one hit to the smaller of 15 - unbreaking and 5% of the armor item's maximum durability. Values below zero are treated as zero.
When the expression is empty, the legacy percentage setting is used. The default legacy cap is 20% of the armor item's maximum durability per hit.
Expression syntax and examples
The expression library supports numeric arithmetic (+, -, *, /, %), parentheses, comparisons (<, <=, >, >=, ==, !=), and the ternary conditional operator (condition ? when_true : when_false). Built-in functions are min, max, abs, sqrt, and pow.
All expressions are numeric. A comparison evaluates to 1 when true and 0 when false. Use max(0, ...) when a subtraction could produce a negative result.
Segment by maximum durability:
max_durability < 100 ? 4 : max_durability < 500 ? 10 : max_durability * 0.05
This returns 4 for armor below 100 maximum durability, 10 for armor from 100 through 499, and 5% of maximum durability for armor at 500 or above.
Segment by Unbreaking level:
unbreaking < 2 ? 12 : unbreaking < 4 ? 8 : 4
This returns 12 at Unbreaking levels 0-1, 8 at levels 2-3, and 4 at level 4 or higher.
Combine durability tiers with Unbreaking:
max(0, min(max_durability < 500 ? 10 : max_durability * 0.05, 15 - unbreaking))
For a 500-durability item with Unbreaking II, this evaluates to min(25, 13) = 13. For an 80-durability item with no Unbreaking, it evaluates to min(10, 15) = 10.
Put the expression on one line in the configuration file:
Armor Damage Expression = "max_durability < 100 ? 4 : max_durability < 500 ? 10 : max_durability * 0.05"
armor_damage_expression=max(0, min(15 - unbreaking, max_durability * 0.05))
The expression result is the cap for one armor item from one hit. Incoming damage can reduce the final value further. A result of 0 skips durability damage; a positive result below 1 still causes one point because item durability damage is integral. If an expression is invalid, the error is logged and that hit falls back to uncapped incoming durability damage.
Configuration
Forge and NeoForge use config/AdvancedArmorDamageLimit.toml.
Fabric uses config/AdvancedArmorDamageLimit.properties.
The item blacklist accepts registry IDs such as modid:item_name. Blacklisted armor keeps the normal Minecraft durability behavior.
Supported versions
Separate builds are provided for:
- Forge 1.19.2
- Forge 1.20.1
- NeoForge 1.21.1
- NeoForge 1.26.1.2
- Fabric 1.21.1
Install the JAR matching both your Minecraft version and mod loader.
License
Advanced Armor Damage Limit is released under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). The project includes YiRanExpressionLib under GNU AGPL v3. See LICENSE, NOTICE.md, and licenses/YiRanExpressionLib-LICENSE.txt for the complete licensing information.
Project description from CurseForge.
Pick your setup
Advanced Armor Damage Limit by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.1
2 loader builds1.20.1
1 loader build1.19.2
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Advanced Armor Damage Limit versions and loaders
advanced-armor-damage-limit-forge-1.20.1-1.1.0-all
advanced-armor-damage-limit-forge-1.20.1-1.1.0-all.jar
1 Sept 2026
advanced-armor-damage-limit-forge-1.19.2-1.1.0-all
advanced-armor-damage-limit-forge-1.19.2-1.1.0-all.jar
1 Sept 2026
advanced-armor-damage-limit-neoforge-1.21.1-1.1.0
advanced-armor-damage-limit-neoforge-1.21.1-1.1.0.jar
1 Sept 2026
advanced-armor-damage-limit-neoforge-26.1.2-1.1.0
advanced-armor-damage-limit-neoforge-26.1.2-1.1.0.jar
1 Sept 2026
advanced-armor-damage-limit-fabric-1.21.1-1.1.0
advanced-armor-damage-limit-fabric-1.21.1-1.1.0.jar
1 Sept 2026
advancedarmordamagelimit-forge-1.20.1-1.0.1
advancedarmordamagelimit-forge-1.20.1-1.0.1.jar
1 Sept 2026
advancedarmordamagelimit-forge-1.19.2-1.0.1
advancedarmordamagelimit-forge-1.19.2-1.0.1.jar
1 Sept 2026
advancedarmordamagelimit-fabric-1.21.1-1.0.1
advancedarmordamagelimit-fabric-1.21.1-1.0.1.jar
1 Sept 2026
advancedarmordamagelimit-neoforge-26.1.2-1.0.1
advancedarmordamagelimit-neoforge-26.1.2-1.0.1.jar
1 Sept 2026
advancedarmordamagelimit-neoforge-1.21.1-1.0.1
advancedarmordamagelimit-neoforge-1.21.1-1.0.1.jar
1 Sept 2026
Advanced Armor Damage Limit 1.0.0 Forge 1.19.2
AdvancedArmorDamageLimit-Forge-43.4.0.jar
1 Sept 2026
Advanced Armor Damage Limit 1.0.0 Forge 1.20.1
AdvancedArmorDamageLimit-Forge-47.3.0.jar
1 Sept 2026
Looking for an older file? The official CurseForge project page is in Resources.