promotional bannermobile promotional banner

New Armor System

A Revolution Of The Vanilla Armor System. Master Your Armor!
Back to Files

new_armor_system-1.3.2-1.21.1.jar

File namenew_armor_system-1.3.2-1.21.1.jar
Uploader
THE_RED_KTHE_RED_K
Uploaded
Oct 23, 2026
Downloads
8
Size
746.7 KB
Mod Loaders
NeoForge
File ID
9296271
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:new-armor-system-1654720:9296271"

Learn more about Curse Maven

What's new

New Armor System 1.3.2

For Minecraft 1.20.1 (Forge 47.x) and 1.21.1 (NeoForge 21.1.x) — both loaders ship together. This release contains every change since 1.3.0.

Added
Sundering potion compatibility (both versions)

Packs commonly disable ApothicAttributes' LivingEntityMixin so that this mod's armor damage-reduction and durability-loss formulas can take effect — which used to disable Apotheosis' Sundering potion along with it. This mod now re-implements its math, so the potion works again:

Semantics are fully consistent with upstream (upstream Javadoc, verbatim: "Sundering is the inverse of resistance. It increases damage taken by 20%/level. Each point of sundering cancels out a single point of resistance, if present.") — +20% damage taken per level, cancelling Resistance level-for-level;
No configuration required: if that ApothicAttributes mixin is enabled, this re-implementation automatically yields (no double-application, no crash);
A single log line on the first resistance calculation reports the current state (prerequisite not installed / native handling / handled by this mod), avoiding silent failure;
The 1.21.1 build additionally adapts to the upstream modId rename (attributeslib → apothic_attributes), and no-ops automatically when the prerequisite is not installed.
Mace Breach enchantment mechanism rework (1.21.1)

Folded into the durability-loss language; adds four shaping options in the new breach_redefinition section: breachDurabilityLossPerLevel, breachIgnoresToughness, breachPiercesUnbreaking, breachAtLeastOneDurability (no master switch; piercing Unbreaking is disabled by default).

Improved
Configurable thorns reflection coefficient (both versions): damage_reflection.thornsCoefficient, default 0.15, uncapped.

Tooltip anchor adjustment (both versions): the mass line now comes before the mod-name line, so it is no longer pushed below JEI's "Minecraft" row.

Fall-damage chain rebuild (both versions): the fall-damage formula injection was rebuilt; 1.21.1 now applies the two backported attributes fall_damage_multiplier and safe_fall_distance.

Compatibility fixes (1.20.1)
ItemStack#hurt changed from takeover to injection — fixes the startup crash with Apotheosis and reduces the functionality lost when banning mixins for coexistence

The old implementation used @Overwrite to replicate the entire method body and inlined vanilla's Unbreaking random loop, erasing other mods' injection anchors ⇒ Apotheosis' ItemStackMixin therefore crashed at startup;
It is now two injectors layered on top of the vanilla method body (Unbreaking level treated as 0 + deterministic loss compression), with all vanilla logic handed back to vanilla ⇒ behavior is identical bit-for-bit, and all third-party anchors survive;
Bonus net gain: third-party Unbreaking hooks on non-armor items work again (the old implementation erased them along with the loop).
New zero-loss guard — fixes broken armor falsely triggering "item broken"

When the deterministic formula compresses the loss to 0, vanilla's tail returns true for durability-capped (broken) armor, wrongly firing the ITEM_BREAK sound / ItemBrokenEvent / destroying the item. A new standalone guard class (highest priority + HEAD cancel-style injection) blocks that path; 1.21.1 is structurally immune (cancel-style injection plus the downstream > 0 check) and was therefore not ported.

Formula consolidated into a single source of truth: the applicability check and computation for the Unbreaking rework were extracted into NewCombatRules, shared by the loss conversion and the guard, so the two cannot drift apart.

Notes for pack authors
The mod still cannot be directly compatible with Apotheosis, but when using Mixin Helper to disable classes for coexistence, only the semantically conflicting features of the two sides are lost — no additional functionality is lost.

The Sundering compat needs no configuration: banning attributeslib.mixin.LivingEntityMixin enables it automatically, and the startup log confirms the state.

This mod has no related projects