HyArmorVariants

Variants of different armors.

File Details

HyArmourVariants-0.0.1.jar

  • R
  • Mar 8, 2026
  • 313.60 KB
  • 11
  • Early Access

File Name

HyArmourVariants-0.0.1.jar

Supported Versions

  • Early Access

Changelog

[0.0.1] - Initial release

Added

  • Randomized armour variants — Each armour piece (helmet, chestplate, leggings, boots) can roll 0–3 random stat variants on first acquisition. Variants are stored in item metadata (BSON) and persist through trading, storage, and server restarts.
  • Armour-appropriate stat pool — Effect Duration, Mana, Signature Energy, Stamina, Thorns, Life Steal, Movement Speed, Durability. No weapon-only stats (e.g. damage, crit) on armour.
  • Variant application — Variants are applied on inventory change, pickup, container open, or via poller. Configurable globs and heuristics for armour detection.
  • 5-star variant rating — When DynamicTooltipsLib is present, tooltips show a star rating and overall percent (e.g. 0–150%). Damage multiplier excluded from armour rating.
  • Armour-on-attacker effects (thorns-style) — When you are hit by a player, mob, or NPC, your armour’s variant stats (e.g. Thorns) can apply an effect to the attacker. Configurable rules, base chance, duration, and per-defender cooldown.
  • Defender armour special attacks — Armour can roll special effects (Blazing Ring, Frost Nova, Poison Cloud, Thunder Strike, Thorns Aura). When you are hit, your equipped armour’s special can proc onto the attacker with configurable chance and cooldown.
  • Optional armour set bonuses — Configurable set definitions (e.g. wearing 2+ pieces from the same set) for extra stat bonuses.
  • Combat pipeline ownership — HyArmourVariants registers the single damage pipeline (WeaponVariantDamageSystem, WeaponVariantEffectDurationSystem) in setup(), so Thorns and defender armour specials proc on all hit types (melee mobs, skeleton/projectile, PvP). Shooter/projectile damage sources supported via getShooterRef-style fallback.
  • Armour stat sync (Mana / Signature Energy) — Equipped armour multipliers are applied to the player’s EntityStatMap (e.g. Mana, Signature Energy as Percent). Sync skips no-op reapplication when multipliers are unchanged, avoiding mana/energy bar oscillation when the poller runs.
  • Configuration — JSON5 config at mods/HyArmourVariants/config/HyArmourVariants.json5: variant count, stat pool, distribution, armour-on-attacker rules, defender armour special toggles, cooldowns, tooltip options, poller interval, and more.
  • Commands — Primary command /hav (aliases: /hyarmorvariants, /hyarmourvariants). When HyWeaponVariants is not installed, /hwv is also registered as an alias to avoid command conflict when both mods run. Subcommands: help, version, reload, menu, dump, apply, reroll.
  • Permissionshyarmorvariants.command.help, .reload, .menu, .dump, .apply, .reroll, .edit. Op required for privileged commands when no permission plugin is present.
  • Localization — Language files in mods/HyArmourVariants/Languages/ (en, de, cs, uk, fr, es, pl, ru, pt, it). Configurable via language in config.
  • Public APIArmorVariantsApi.isActiveCombatOwner() and getStatMultiplier(Player, statId) for other mods (e.g. HyWeaponVariants) to detect the combat owner and query armour-derived multipliers.
  • Compatibility — Romnas Quality Crafting (quality item ID resolution), Salvager/Processing Bench (variant data preserved), DynamicTooltipsLib (optional tooltips). Documented coexistence with HyWeaponVariants: one combat owner, command separation, poller guidance, and future connector plan for weapon+armour sets (e.g. full Mithril armour + Mithril weapon = Mithril set, combined damage).

Technical

  • Built for Hytale server-side modding API; Java 25+, Gradle 9.x, Kotlin DSL.
  • Variants stored by stat id for update resilience. Armour stats aggregated additively across equipped pieces.
  • Combat systems registered in setup(); armour modifier sync uses cached lastAppliedArmorMults per player to skip remove+apply when unchanged.
  • Startup logging: active combat owner and HyWeaponVariants detection for easier debugging when both mods are installed.