**Added**
- Added an in-game Enchantment Codex, opened with K by default and rebindable in the vanilla controls settings.
- Included all 113 Carian enchantments in the codex, grouped into 25 themes such as Stars, Frenzied Flame, Mohgwyn Dynasty, Golden Order and Scarlet Rot, and sorted from lowest to highest rarity within each group.
- Added enchantment detail pages showing the effect description, applicable item types, normal maximum level, equipment slots, how to obtain it, enchanting table weight and level requirement, conflicting enchantments and tunable values.
- Added keyword search to the codex; conflicting enchantments can be clicked to jump to them, with a way back after jumping.
- Added per-level descriptions: clicking a level turns formulas such as “[Level] × 20s” into concrete numbers, or switches back to the formula view.
- Added an “Other Enchantments” tab listing the enchantments of vanilla and every installed mod, grouped by mod with vanilla first, with two-way conflict navigation to and from Carian enchantments.
- Added support for the common `.desc` / `.description` key convention, so mods such as Enchantment Descriptions supply vanilla descriptions automatically; 39 built-in fallback descriptions for vanilla enchantments are used when none exist.
- Added `config/carianstyle/enchantment_values.json`, exposing 412 values across 110 enchantments to server owners, including damage multipliers, trigger chances, cooldowns, radii, durations and stack caps.
- Added automatic generation of the value file on first launch; later launches keep edited values and add new entries, and out-of-range values are clamped to the allowed range and logged instead of causing a startup failure.
- Added a value list to the codex showing each value's localized name, current effective value, default and allowed range, with edited entries highlighted.
- Added a “Reload Values” button to the codex that applies value changes without a restart.
- Synced values the client also needs, such as the Gravitas field radius and the Concealing Veil combat timer, from the server on login, keeping visuals consistent with actual behavior.
- Completed hand-drawn visual effects for all enchantments, covering status effects, combat arts, area circles, ultimate spectacles and the stack HUD.
- Added a Visual Effects panel as the second tab of the codex, with individual toggles for 24 effects and per-category bulk enable and disable, all on by default; turning off effects that carry combat information, such as hemorrhage, frostbite and range indicators, shows a warning.
- Added `config/carianstyle/visual_toggle.json`, a client-side file that stores the effect toggle states.
- Added a full English localization: en_us was previously a copy of the Chinese file and is now fully translated, with enchantment names following the official Elden Ring English terms where possible; both language files have 952 entries with matching keys.
- Added a config option to control whether all Carian enchantments apply to mobs (non-player entities).
**Changed**
- Changed enchantment conflicts to be calculated live from the game's actual compatibility check, fully covering same-category exclusions, for example all combat arts and all remembrances excluding each other, as well as conflicts with vanilla and other mods' enchantments.
- Changed how the codex shows conflicts: whole-category exclusions collapse into a single line, only special cross-category conflicts are listed individually, and conflict lists are sorted by mod with vanilla first.
- Changed acquisition methods (enchanting table, treasure, loot, villager trade, disabled) to be read live from the current config, noting whether treasure status comes from the enchantment itself or a config toggle.
- Required all network packets to declare their transmission direction; the server no longer accepts packets sent in the wrong direction.
- Optimized effect rendering with unified batching and level of detail: when many effects are on screen, distant and secondary layers are simplified automatically to protect frame rate, and distant Shield Ward effects are simplified during large fights as well.
- Optimized enchantment level lookups so that multiple enchantments in the same tick share a single equipment scan.
- Optimized Starlight's armor scan so players without the enchantment pay almost nothing, and removed the 20 block updates per second it broadcast while moving.
- Optimized UI effect drawing, cutting draw calls by about 88%.
- Optimized the performance of all enchantments and fully aligned their behavior with their descriptions.
- Capped the effective range of all area-of-effect enchantments at high levels to prevent value overflow.
- Changed death-related enchantments to no longer trigger when mobs die; this can be toggled in the config.
**Fixed**
- Fixed some enchantments bypassing the disabled-enchantment list and level cap settings; both now apply to every enchantment.
- Fixed possible out-of-memory and capacity overflow errors when mismatched client and server versions caused packets to desync.
- Fixed the Gravitas ground ring not appearing after logging out while the field was active and logging back in.
- Fixed a typo in the Chinese name of Thops's Barrier.
**Upgrade notes**
- Client and server must be updated together: this version adds new packets and raises the network protocol version, so older clients connecting to an updated server are rejected during the handshake with a version mismatch message.
- The disabled-enchantment list and level cap now fully apply: if players were using enchantments that should have been disabled or levels beyond the cap, those effects will stop working after the update, so announcing this in advance is recommended.
- On first launch, `config/carianstyle/enchantment_values.json` and `visual_toggle.json` are generated, with defaults matching the previous behavior.
- Adjusting values does not update the description text; edit `enchantment.carianstyle.<id>.desc` in the language file accordingly.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }