# AC Core
AC Core is a shared **attribute and combat-settlement library** for Minecraft (Forge 1.20.1 and NeoForge 1.21.1).
It registers a set of reusable RPG-style attributes and ships the server-side logic that actually makes them work,
so content mods do not have to re-implement the same damage math over and over.
## Features
1. **A synchronized attribute suite (`ac_core:*`, 16 attributes)**
Crit chance, crit damage, magic resist, flat magic penetration, percentage magic penetration, natural regeneration,
heal & shield power, tenacity, omnivamp, physical damage reduction, magic damage reduction, adaptive force,
true damage, ability haste, ultimate haste and accessory haste.
All of them are client-synced and visible in attribute-screen mods such as Apothic Attributes.
2. **Built-in settlement systems (the part that does the work)**
- *Unified crit pipeline*: one roll per hit, crit damage as an independent multiplier (default 150%), crit chance
above 100% is converted into extra crit damage instead of being wasted, and other mods can hook the event to
allow/force crits (for example spell crits) or take over the visual.
- *Defense math*: magic resist uses the LoL formula `reduction = MR / (100 + MR)`; percentage magic penetration is
applied before flat penetration; physical and magic damage reduction are separate multiplicative buckets applied
after the resist calculation.
- *Omnivamp*: heals the attacker for a percentage of every damage type it deals.
- *Tenacity*: shortens negative effect durations by a percentage.
- *Adaptive force*: every 0.5 s compares bonus attack damage / spell power / projectile damage and adds the points
to whichever is the highest.
- *Mob magic resistance baseline*: vanilla and Iron's Spellbooks hostile mobs get a sensible default magic resist
value when they spawn.
- *Haste helper*: shared `CDR = haste / (100 + haste)` conversion used by ability, ultimate and accessory haste.
3. **Reusable utilities for dependent mods**
`AcSpellPenetration` (damage-source aware penetration resolution), `AcIronsSpells` (runtime soft detection of
Iron's Spellbooks / Apothic attributes by registry id), `AcHasteMath`, plus mixins for spell penetration,
tenacity, effect duration and entity-spawn blocking. **No hard dependencies**: AC Core only needs the mod loader
and Minecraft, and every optional integration degrades gracefully when that mod is absent.
## How it affects gameplay
AC Core adds no blocks, items or mobs of its own — you install it so the mods that use it behave correctly:
- **Your numbers finally add up across mods.** Critical strikes, magic resistance, penetration, lifesteal/omnivamp,
tenacity and true damage are resolved through a single shared pipeline, so two mods can no longer double-dip or
roll two separate crits for the same hit.
- **Readable combat rules.** Magic resist has diminishing returns, penetration is applied in a fixed order
(percentage first, then flat), and crit chance above 100% is converted into crit damage instead of being wasted.
- **Stats you can actually see.** Every attribute is client-synced and added to the player's default attribute map,
so attribute-screen mods display them properly, with a tooltip explaining each custom stat.
- **Install once, support many mods.** AC Core is the required dependency of the AC mod family (for example
LOLAccessories 3.0+). One library install covers every compatible mod; depending mods also keep a Jar-in-Jar copy,
and the loader automatically uses the newer standalone version, so there is no conflict.
## Requirements
- Minecraft 1.20.1 + Forge, or Minecraft 1.21.1 + NeoForge (one file per loader).
- Optional, soft-detected: Iron's Spellbooks, Apothic Attributes, Curios. They are not required.
## License
MIT