CurseForge · Minecraft mod
[FORGE/FABRIC] Armor Curve
Adjust the armor scaling and degradation formulae for mobs and players.
Quick answer
Which [FORGE/FABRIC] Armor Curve release should I use?
[FORGE/FABRIC] Armor Curve armorcurve-3.0.jar targets 1.20.1 with NeoForge, 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 [FORGE/FABRIC] Armor Curve 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 [FORGE/FABRIC] Armor Curve armorcurve-3.0.jar need?
armorcurve-3.0.jar. 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 [FORGE/FABRIC] Armor Curve without breaking your instance.
Built for [FORGE/FABRIC] Armor Curve armorcurve-3.0.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use armorcurve-3.0.jar. It targets 1.20.1 with NeoForge, 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 armorcurve-3.0.jar. It opens that exact file at the source.
About this project
What does [FORGE/FABRIC] Armor Curve add?
Important notice:
If you see an error like this:
Description: Rendering overlay
java.lang.ArithmeticException: Division undefined
at java.math.BigDecimal.divide(BigDecimal.java:1741) ~[?:1.8.0_51] {}
at com.udojava.evalex.Expression$6.eval(Expression.java:587) ~[?:2.3] {re:classloading}
at com.udojava.evalex.AbstractOperator$1.eval(AbstractOperator.java:72) ~[?:2.3] {re:classloading}
Look in your config for the denominators, and wrap them with a MAX(x, 1) statement, so damage/max becomes damage/MAX(max, 1), for instance.
Did you know that, by Minecraft's damage formulae, iron to diamond effectively doubles your health?
Did you know that leather to iron is 8 points in difference, yet it doesn't hold a candle to iron to diamond in terms of effective health increase?
Did you know that it's possible to survive almost 100 points of damage in vanilla, with full prot netherite and resistance?
Did you know that armor doesn't obey the basic law of diminishing marginal utility?
That's what inspired me to make this. Armor effectiveness is adjusted so that the more armor you have, the less every extra armor point adds to your total protection. Due to how meaninglessly complicated armor toughness is, it has been removed as a direct mechanic; as compensation, armor values have been slightly lowered. Leather provides roughly 40% protection, iron gives 60%, and diamond gives 66%. Protection enchantments have been similarly nerfed to 66% max, so full protection diamond only nets you 89% rather than 96% reduction. Instead of toughness acting directly on arbitrary armor damage reduction, however, an extra layer of calculations have been added, which (by default) greatly decreases any damage over 40 points according to your armor toughness. These are configurable, see below.
Armor degrades. Low durability decreases the attributes of that specific piece of armor, so a half-broken helmet will drop your armor less than a half-broken chestplate. This is also configurable.
The config is structured such that you can input a formula (with parsing provided by EvalEx) and it'll work off that. Available variables for "armor" and "toughness" are "armor", "damage", and "toughness"; for "enchantments", variables are "damage" and "enchant", and for degradation it's "remaining" and "max". For instance, you could disable degradation by setting the formula to "1", replicate the vanilla formula with a little math, or multiply the damage by armor so everything hits harder the more you wear! Fun stuff.
Since EvalEx is also used by Apotheosis, there are two forge versions for players with and without the mod; make sure you grab the right one. This is no longer necessary!
Project description from CurseForge.
Pick your setup
[FORGE/FABRIC] Armor Curve by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.19.2
1 loader build1.19.1
1 loader build1.19-Snapshot
1 loader build1.19
1 loader build1.18.2
1 loader build1.16.5
2 loader builds1.16.4
1 loader build1.16.3
3 loader builds1.16.2
1 loader build1.16.1
1 loader build1.16
1 loader buildShowing the newest 12 of 13 game versions. Older files are in the list below.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
[FORGE/FABRIC] Armor Curve versions and loaders
armorcurve-3.0.jar
11 Oct 2023
armorcurve-3.0.jar
27 Mar 2023
armorcurve-3.0.jar
14 Oct 2022
[FORGE] armorcurve-2.4-hotfix.jar
armorcurve-2.4.jar
21 Oct 2021
[FORGE] armorcurve-2.4
armorcurve-2.4.jar
21 Oct 2021
[FORGE] armorcurve-2.2
armorcurve-2.2.jar
28 Feb 2021
[FABRIC] armorcurve-0.7.0
armorcurve-0.7.0.jar
12 Oct 2020
[FABRIC] armorcurve-0.7.0
armorcurve-0.7.0.jar
11 Oct 2020
[FABRIC] armorcurve-0.5.0
armorcurve-0.5.0.jar
25 Sept 2020
[FORGE] armorcurve-2.2.0
armorcurve-2.2.0.jar
22 Sept 2020
armorcurve-1.2.9.jar
5 Jun 2020
armorcurve-1.2.8.jar
25 May 2020
Looking for an older file? The official CurseForge project page is in Resources.