HyArmorVariants adds randomized stat variants to armour so every crafted or looted helmet, chestplate, leggings, or boots can roll different performance. Variants are stored per item and persist through trading, storage, and server restarts.

Disclaimer: This mod is still in development! Please report bugs / feature requests on the CurseForge project page or Discord.
When reporting issues, include: mods/HyArmourVariants/config/HyArmourVariants.json5, your language file from mods/HyArmourVariants/Languages/ (if you changed it), and the relevant server log snippet (enable debug: true in config for detailed logs).

โ
Key features
- Unique rolls per armour piece — the same helmet or chestplate can grant different stat bonuses depending on its variant.
- Persistent per-item data — variants are stored on the ItemStack (BSON metadata).
- Armour support: Applied on craft, pickup, inventory change, or when opening containers. Works with vanilla-style armour (helmet, chestplate, leggings, boots) and configurable globs.
- Variant rating in tooltips — when DynamicTooltipsLib is present, tooltips show a 5-star rating and percent, then special effects and stat bonuses. Optional; mod works without it.
- Special attacks on armour — armour can roll one of five special effects (Blazing Ring, Frost Nova, Poison Cloud, Thunder Strike, Thorns Aura). When you are hit, your armour’s special can proc onto the attacker (player, mob, or NPC) with configurable chance and cooldown.
- Armour-on-attacker effects (thorns-style) — when you are hit, your armour’s variant stats (e.g. Thorns) can apply an effect to the entity that hit you. Configurable rules, chance, and cooldown.
- Effect duration — the Effect Duration variant increases how long your applied debuffs last. Optional set bonuses when wearing multiple pieces from the same set.
โญ Variant star rating
When DynamicTooltipsLib is enabled, the first line of a variant armour piece’s tooltip shows a 5-star rating and overall variant percent (e.g. [****-] 91%). Filled stars (*) are yellow, empty slots (-) are grey; the percent reflects how strong the roll is (e.g. 0–150% by default). Damage multiplier is excluded from the armour rating.
โจ Special effects (defender armour → attacker)
Armour can roll one of the following special attacks. When you are hit by a player, mob, or NPC, your equipped armour’s special can proc onto the attacker (configurable chance and per-defender cooldown).
| Special effect |
What it does when it procs onto the attacker |
| Blazing Ring |
Burn (ring of fire). |
| Frost Nova |
Freeze/slow and damage in an area. |
| Poison Cloud |
Poison over time. |
| Thunder Strike |
Lightning damage. |
| Thorns Aura |
Applies Thorns to the attacker. |
๐ก๏ธ Armour-on-attacker effects (thorns-style)
When you are hit, your armour’s variant stats can apply an effect to the attacker (who hit you). Default rule: Thorns — if your armour has a Thorns variant, there is a chance to apply the Thorns effect to the player/mob/NPC that hit you. You can add more rules in config (e.g. other effects keyed to other stats). Per-effect cooldown is configurable.
| Effect |
Armour variant stat |
Description |
| Thorns |
Thorns |
Chance to apply Thorns to the entity that hit you (configurable). |
๐ All armour variants
Armour rolls a subset of these stats (count and pool are configurable). Each variant has a multiplier range; the roll determines how strong that stat is on the piece. No weapon-only stats (e.g. Bonus Damage, Critical Chance) — only stats that make sense on armour.
| Variant ID |
Display name |
Typical range |
Description |
| EffectDuration |
Effect Duration |
75–150% |
Increases how long your applied debuffs last. |
| Mana |
Mana |
80–120% |
Mana cost or pool (lower % = cheaper). |
| SignatureEnergy |
Signature Energy |
80–120% |
Signature/ability energy cost. |
| Stamina |
Stamina |
80–115% |
Stamina cost or pool. |
| Thorns |
Thorns |
80–135% |
Chance to apply Thorns to the attacker when you are hit. |
| LifeSteal |
Life Steal |
70–140% |
Life steal when you deal damage (if applicable). |
| MovementSpeed |
Move Speed |
90–115% |
Movement speed while wearing the piece. |
| DurabilityBonus |
Durability |
75–150% |
Armour durability or degradation rate. |
๐ ๏ธ Compatibility & integration
- Salvager / Processing Bench — variant armour works in the Salvager; item IDs are normalized while open so recipes accept them; variant data is restored when you take the item back.
- Romnas Quality Crafting — when both mods are installed, quality item IDs are resolved to the base item for variants and Salvager (configurable; no extra dependency).
- Modded armour supported when it matches armour heuristics (e.g.
armor_, helmet, chestplate, leggings, boots) or configurable armorItemIdGlobs. Optional armour set bonuses when wearing multiple pieces from the same set.
โ๏ธ Configuration
- Config path:
mods/HyArmourVariants/config/HyArmourVariants.json5 (JSON5, created on first run).
- Min/max roll ranges, distribution (uniform / triangular / normal), variant count per armour piece, which stats can roll, armour set bonuses.
- When to apply variants: inventory change, pickup, container open; poller for held-item sync. Optional performance mode and tooltip options.
- Armour-on-attacker:
applyArmorOnAttackerEffects, armorOnAttackerEffects, armorOnAttackerCooldownSeconds.
- Defender armour special:
applyDefenderArmorSpecialToAttacker, defenderArmorSpecialCooldownSeconds, same special attack config and proc chance as weapon specials.
- /hav reload applies config changes without restarting the server.
๐ Supported languages
Tooltips and UI strings can be translated. Set language: "xx" in config (e.g. language: "de" for German). Language files are in mods/HyArmourVariants/Languages/ and are extracted from the mod on first run.
| Code |
Language |
en |
English |
de |
German (Deutsch) |
cs |
Czech (ฤeština) |
uk |
Ukrainian (ัะบัะฐัะฝััะบะฐ) |
fr |
French (français) |
es |
Spanish (español) |
pl |
Polish (polski) |
ru |
Russian (ััััะบะธะน) |
pt |
Portuguese (português) |
it |
Italian (italiano) |
๐ Commands
/hav or /hav help — Show version and command list (or open config menu with permission)
/hav version — Show mod version
/hav reload — Reload config from disk (no server restart)
/hav menu — Open config UI
/hav dump — (hold armour) Show variant metadata for debugging
/hav apply — (hold armour) Force-apply a variant to the held item
/hav reroll — (hold armour) Strip existing variant and roll a brand-new one
Aliases: /hyarmorvariants, /hyarmourvariants
Permissions (compatible with LuckPerms and similar):
hyarmorvariants.command.help — /hav, /hav help, /hav version
hyarmorvariants.command.reload — /hav reload
hyarmorvariants.command.menu — /hav menu
hyarmorvariants.command.dump — /hav dump
hyarmorvariants.command.apply — /hav apply
hyarmorvariants.command.reroll — /hav reroll
hyarmorvariants.command.edit — Edit config via UI
Without a permission plugin: help and version are allowed for everyone; reload, menu, dump, apply, and reroll require op. Console can run all commands.
๐ก๏ธ Technical notes
Built with update resilience in mind: safe reflection and fallbacks, metadata versioning, stable fingerprinting. Variants are stored by stat id so future stat reordering is less likely to break old items. Armour stats are aggregated additively across equipped pieces (e.g. 1 + Σ(m_piece − 1) + set bonuses).
๐ง Plugin not showing / not loading after update
If the game does not see the mod after an update (or after rollback/reinstall), try:
- Remove the mod — Delete the HyArmourVariants JAR from your
mods folder.
- Clear the mod data — Delete the folder
mods/HyArmourVariants (config and language files) so the plugin starts clean.
- Restart the game to clear in-memory state.
- Reinstall — Put the HyArmourVariants JAR back in the mods folder and start the game again.
If the plugin still does not appear, check the server/client log for errors mentioning HyArmourVariants. The mod falls back to defaults if config or language files are missing, so it should at least load.
๐ Notes
- Config and languages live under
mods/HyArmourVariants/ (see server log on first run for the exact path).
- Works alongside HyWeaponVariants for weapons; this mod is for armour only.
๐ Legend:
๐ง๐ณ - Cooking it in the next update
โ๏ธ - Will do eventually
๐ To-do list
๐ง๐ณ | Connecting HyArmorVariants and HyWeaponVariants together
๐ง๐ณ | Make sets that could combine stats together
๐ง๐ณ | Make glowing armor variants