### Bug Fixes
- **LightningAction NPE:** `getTargetBlock(null, 100)` could return null when looking at sky causing a crash
- **Cooldown consumed before execution:** Cooldown timestamp was recorded before actions ran. If an action threw an exception the cooldown was wasted.
- **PROJECTILE_HIT reads wrong item:** `onProjectileHit` read `shooter.inventory.itemInMainHand` at hit time, which could be wrong if the player swapped weapons mid-flight.
### New Features
- **`disabled` flag:** Add `disabled: true` to any enchant YAML to fully disable it without deleting the file. Disabled enchants are skipped at load time.
- **Multi-trigger support:** Enchants can now fire on multiple triggers. Use `triggers: [ATTACK_ENTITY, RIGHT_CLICK]` (list) instead of a single `trigger:` field. The old single-trigger format remains backward-compatible.
- `lightning` now fires on both `ATTACK_ENTITY` and `RIGHT_CLICK` as its description stated.
### New Triggers (3)
- **`SHIELD_BLOCK`** — Fires when a player successfully blocks an attack with a shield. Checks the shield in the offhand and all armor slots.
- **`SPRINT`** — Fires once when a player begins sprinting (`PlayerToggleSprintEvent`). Checks all equipment slots.
- **`CONSUME`** — Fires when a player eats food or drinks a potion (`PlayerItemConsumeEvent`). Checks the consumed item and all armor slots.
### New Action Types (2)
- **`send_title`** — Displays a MiniMessage-formatted title, subtitle, or action bar message to the player. Configurable fade-in, stay, and fade-out times.
- **`swap_positions`** — Teleports the player to the target's location and the target to the player's original location. Preserves each entity's yaw/pitch.
### New Item Group (1)
- **`SHIELDS`** — `[SHIELD]`. Use in `applicable_items` for shield enchantments.
### New Enchantments (6)
- **Retaliation** (SHIELDS, SHIELD_BLOCK) — Reflects 50–80% of incoming damage back to the attacker while blocking.
- **Fortress** (SHIELDS, SHIELD_BLOCK) — Grants absorption for 3s on successful block.
- **Bounding** (BOOTS, SPRINT) — Grants jump boost when you start sprinting.
- **Windrunner** (BOOTS, SPRINT) — Grants speed boost when you start sprinting.
- **Nourished** (ARMOR, CONSUME) — Eating food triggers regeneration.
- **Swapper** (MELEE, ATTACK_ENTITY) — Swaps positions with your target on hit.
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" }