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,/hwvis also registered as an alias to avoid command conflict when both mods run. Subcommands:help,version,reload,menu,dump,apply,reroll. - Permissions —
hyarmorvariants.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 vialanguagein config. - Public API —
ArmorVariantsApi.isActiveCombatOwner()andgetStatMultiplier(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 cachedlastAppliedArmorMultsper player to skip remove+apply when unchanged. - Startup logging: active combat owner and HyWeaponVariants detection for easier debugging when both mods are installed.