Armor Curve
Flattens the armor curve — make damage reduction simple, predictable, and fully under your control.
Credits & License
- Authors: Jackiecrazy
- Special thanks to the people behind EvalEx
- License: GPL-3.0
- This is a NeoForge port of the original Armor Curve mod by Jackiecrazy, licensed under GPL-3.0.
- Original mod by Jackiecrazy: CurseForge · Modrinth
Overview
Armor Curve replaces Minecraft's built-in armor calculation with a clean, linear damage reduction curve that you can rewrite entirely. From leather to netherite, every piece of armor now reduces damage exactly as you expect, and the numbers stay consistent no matter how much armor you stack.
On top of the flat curve, the mod adds two more layers:
- Protection enchantments use their own, separately configurable damage reduction formula.
- Equipment attributes fade as durability drops, so a nearly broken chestplate protects noticeably less than a fresh one.
All formulas are plain text. You can edit them while the game is running — save the config file and the change applies immediately, no restart required.
Features
- Linear, predictable armor curve — The default formula grants 1% damage reduction per armor point and another 1% per 2 toughness points, with at least 5% of the incoming damage always getting through.
- Customizable Protection formula — Protection enchantment reduction is calculated separately, defaulting to 2.5% per protection point (up to 50%), while never reducing damage below 10%.
- Durability-based degradation — Armor attributes scale with remaining durability. The first 25% of wear is free; after that, stats decline linearly and approach zero as the item is about to break.
- Live config reload — Edit any formula in the config file and save; the mod picks it up immediately, with no restart needed.
- Safe by design — An invalid formula falls back to a safe default, and a failed evaluation during combat leaves the original damage untouched. No crashes, no broken saves.
- Optional universal degradation — By default, every armor attribute degrades with durability. You can restrict degradation to armor points only, and attributes whose names contain "stealth" never degrade at all. Items held in the main hand or off hand are exempt.
Formulas
All four formulas live in config/armorcurve-common.toml.
1. Armor damage reduction
damage*MAX(0.05, 1-(armor+toughness/2)/100)
| Variable | Meaning |
|---|---|
damage |
The incoming damage |
armor |
Your armor points |
toughness |
Your armor toughness |
2. Secondary damage reduction
damage
A second reduction step chained after the first one, fed with the result of the first formula. It is disabled by default (passing the damage through unchanged) so that two curves cannot stack the damage down to zero.
3. Protection enchantment reduction
damage*MAX(0.1, 1-2.5*enchant/100)
| Variable | Meaning |
|---|---|
damage |
Damage remaining after armor reduction |
enchant |
Protection points (normally 4 × level, capped at 20) |
4. Durability degradation
MIN(1, remaining/(MAX(max,1)*0.75))
| Variable | Meaning |
|---|---|
remaining |
Remaining durability |
max |
Maximum durability |
Configuration Guide
- Set a formula to
damageto skip that reduction step entirely. - Set the degradation formula to
1to disable durability degradation. - Formulas support common math operators (
+ - * / ^), comparison and logic operators, and functions such asMAX,MIN,IF,ABS,SQRT,ROUND,FLOOR,CEILING, and trigonometric functions. universal_armor_degradation— set tofalseto degrade only the armor value, leaving toughness and other modifiers untouched.
Armor Curve
将原版护甲曲线拉平——让减伤变得简单、可预测,并且完全由你掌控。
作者与许可
- 作者:Jackiecrazy
- 特别感谢 EvalEx 背后的开发者
- 许可证:GPL-3.0
- 本模组基于 Jackiecrazy 的 Armor Curve 移植,遵循 GPL-3.0 许可证。
- 原作者 Jackiecrazy 的下载页:CurseForge · Modrinth
模组简介
Armor Curve 用一条简洁、线性的减伤曲线替换了 Minecraft 原版的护甲计算机制,而且这条曲线完全可以由你改写。从皮革到下界合金,每件护甲提供的减伤都清晰直观,无论堆叠多少护甲,数值都始终如一。
在平滑的护甲曲线之外,本模组还增加了两层机制:
- 保护类附魔使用独立且可自定义的减伤公式。
- 装备属性会随耐久损耗而衰减,快要损坏的胸甲提供的保护会明显低于新做的。
所有公式均为纯文本。你可以在游戏运行时直接修改——保存配置文件后立即生效,无需重启游戏。
功能特性
- 线性、可预期的护甲曲线 —— 默认公式下,每 1 点护甲减伤 1%,每 2 点韧性再额外减伤 1%,且任何伤害都至少保留 5%。
- 可自定义的保护附魔公式 —— 保护附魔的减伤独立结算,默认每 1 点保护减伤 2.5%(最多 50%),且伤害永远不会被降到 10% 以下。
- 耐久衰减机制 —— 装备属性随剩余耐久缩放。前 25% 的磨损完全免费;之后属性随耐久线性下滑,在装备即将碎裂时趋近于零。
- 配置实时生效 —— 修改配置文件并保存后,模组立刻应用新公式,无需重启。
- 安全设计 —— 公式无效时自动回退到安全默认值;战斗中求值失败时,本次伤害保持原值不变。不会崩溃,也不会损坏存档。
- 可选的全面衰减 —— 默认所有护甲属性都会随耐久衰减;你可以将衰减范围限制为仅护甲值,而名称中包含 "stealth" 的属性无论如何都不会衰减。主手或副手持有的物品不参与衰减。
公式说明
所有公式都位于 config/armorcurve-common.toml。
一、护甲减伤公式
damage*MAX(0.05, 1-(armor+toughness/2)/100)
| 变量 | 含义 |
|---|---|
damage |
本次受到的伤害 |
armor |
护甲值 |
toughness |
护甲韧性 |
二、第二道减伤公式
damage
紧跟第一道公式之后的第二次减伤,输入是第一道公式算完的结果。默认关闭(即直接透传伤害),避免两条曲线叠加把伤害压成 0。
三、保护附魔减伤公式
damage*MAX(0.1, 1-2.5*enchant/100)
| 变量 | 含义 |
|---|---|
damage |
护甲减伤后剩余的伤害 |
enchant |
保护附魔的减伤点数(原版一般为 4×等级,最高 20) |
四、耐久衰减公式
MIN(1, remaining/(MAX(max,1)*0.75))
| 变量 | 含义 |
|---|---|
remaining |
剩余耐久 |
max |
耐久上限 |
配置指南
- 将某个公式设为
damage,即可完全跳过该步骤的减伤。 - 将耐久衰减公式设为
1,即可关闭耐久衰减。 - 公式支持常见数学运算符(
+ - * / ^)、比较与逻辑运算符,以及MAX、MIN、IF、ABS、SQRT、ROUND、FLOOR、CEILING和三角函数等函数。 universal_armor_degradation:设为false后只衰减护甲值,韧性与其它属性修饰符保持原值。

