promotional bannermobile promotional banner

It Hurts Too Bad

Modify the damage formula after armor and after protection to your heart's content (or dismay).

It Hurts Too Bad!

Ever thought Minecraft’s damage reduction felt off, unbalanced, or hard to create content to balance around? Rewrite it!

This mod lets you redefine the damage formulas after armor and protection however you like, from realistic simulations to chaotic experiments, all through a simple configuration file!

How-to

Find your configuration file: ithurtstoobad-common.toml.

Find the field for the formula you want to modify, and make it equal to the formula you wish to use!

After Armor formula

Your parameters are: damage, armor, and armor toughness.

To modify the amount of damage taken after armor, modify armorDamageFormula. For example:

armorDamageFormula = "d - a - t" will reduce damage by the amount of armor points and toughness.

After Protection formula

Your parameters are: damage and protection. p equals the amount of protection levels the player has for the damage type.

  • Full Protection 4 makes p = 16.
  • Specific protection's effects are doubled.
    • A single piece with Projectile Protection 4 makes p = 8 against projectiles;
  • Feather Falling's effect is tripled against falling damage.
    • Feather Falling 3 boots makes p = 9

To modify the amount of damage taken after protection (which applies to the damage after armor), modify protectionDamageFormula. For example:

`protectionDamageFormula= "d - p" will reduce damage by the amount of protection levels.

I don't want to change it

If you don't want a calculation to be used, leave the field empty, and the mod will use vanilla behaviour.

Available functions and operators

You have access to the following operators:

  • Addition (x + y)
  • Subtraction (x - y)
  • Divison (x / y)
  • Exponential (x^y)
  • Unary minus and plus (+x, -x; x + (-y))
  • Modulo (x % y)

Asides from the given variables, you have access to some functions:

  • sin(x): sine
  • cos(x): cosine
  • tan(x): tangent
  • acos(x): arc cosine
  • asin(x): arc sine
  • atan(x): arc tangent
  • cbrt(x): cubic root
  • ceil(x): nearest upper integer
  • cosh(x): hyperbolic cosine
  • exp(x): euler's number raised to the power (e^x)
  • floor(x): nearest lower integer
  • log(x): logarithmus naturalis (base e)
  • log2(x): logarithm to base 2
  • log10(x): logarithm to base 10
  • sinh(x): hyperbolic sine
  • sqrt(x): square root
  • tanh(x): hyperbolic tangent
  • signum(x): signum of a value
  • max(x, y): The greater of x and y
  • min(x, y): The smallest of x and y
  • rand(): A random number between 0 and 1
  • randInt(x, y): A random integer between x and y

Recommendations

  • Pair this mod with Attribute Fix or similar so, when you modify armor amounts on your equipment (with another mod), allow for armor amounts greater than Minecraft's default 30.
  • Also pair this mod with Armor Points ++ or similar so you can actually see armor amounts greater than Minecraft's default 20

Not too important

mercy im smol pls this is my first mod pls ty

Upcoming Features

Ask me in the comments!


Formulas (some for the funny)

Over time, here I'll list some formulas you can try out. Some are balanced, some require balancing, and some make for an interesting challenge. These also serve as inspiration for you designers out there.

It Hurts Too Bad Default

This is what I created this mod for. Nerfs vanilla armor (except for leather), toughness makes each armor point be stronger. Keeps protection formula the same.

armorDamageFormula = "d * (1 - (a / (a + (12 - (t * 10 / (t + 10))))))"

protectionDamageFormula = ""

8.33% more effective health for each armor point.
0.68% more effective health for each armor point for each armor toughness.
MATERIAL        Effective Health 
Leather               158.33%
Iron                  225.00%
Diamond               375.36%
Netherite             405.56%

Minecraft Default

This is how Minecraft does these calculations under the hood. You should use these as a reference instead of using them as formulas, as leaving the fields empty has the same effect as filling them with these values.

armorDamageFormula = "(d*(1-(max(a/5,a-(4*d/(t+8))))/25))"

protectionDamageFormula = "(d * (1-(max(0, min(p, 20))/25)))"

4% less damage per point of armor, up to 80%;
The greater the amount of damage you take curves it down to 3% less damage per point of armor, up to 60%;
MATERIAL        Effective Health 
----------   LOW DMG      HIGH DMG 
Leather       135%        105.93%
Iron          250%        125%   
Diamond       500%        250%   
Netherite     500%        277.78%

Logical Armor Rework

This is how LogicalArmorRework claims it does these calculations. It ignores armor toughness.

armorDamageFormula = "(d*(1-(a/(a+5))))"

20% more effective health for each armor point.
MATERIAL        Effective Health 
Leather               240%
Iron                  400%
Diamond               500%
Netherite             500%

5 hits to die

All damage instances deal 5 damage (2.5 hearts) regardless of armor or protection.

armorDamageFormula = "5"

protectionDamageFormula= "5"

Since players regenerate at least 1 HP in the time they die, you will probably die in 5 hits. 4 if you have not eaten. However it also means you can survive any fall (you take 5 damage).

The It Hurts Too Bad Team

profile avatar
  • 2
    Projects
  • 118
    Downloads

More from Kiroto50

  • ReKrafted project image

    ReKrafted

    • 11
    • Modpacks

    Rebalance, refill, redesign Minecraft into a slower, completer and more fulfilling game

    • 11
    • November 9, 2025
    • Modpacks
    • +1
  • ReKrafted project image

    ReKrafted

    • 11
    • Modpacks

    Rebalance, refill, redesign Minecraft into a slower, completer and more fulfilling game

    • 11
    • November 9, 2025
    • Modpacks
    • +1