Files
spigot-tyrant/design/user-stories/us-014-use-class-ability-items.md
dmg fe07c202f9
Release / release (push) Successful in 2m7s
CI / build (push) Successful in 1m0s
feat(items): secure bound ability inventory
2026-08-14 23:21:05 -04:00

31 lines
1.9 KiB
Markdown

---
type: User Story
title: "US-014: Use class ability items"
description: Give class holders named bound items that activate abilities without enabling transfer or cooldown bypasses.
status: done
---
# US-014: Use class ability items
As a **class holder**, I want a recognizable inventory item for my ability so that activation is fast and understandable during play.
## Acceptance criteria
- [x] Each item-triggered class ability uses a uniquely named standard Minecraft item with hidden persistent ownership and ability metadata.
- [x] Right-clicking or swinging the appropriate item activates the ability without also performing an unsafe vanilla action.
- [x] Another player cannot activate, retain, craft with, place, store, frame, dispense, or otherwise transfer a bound ability item.
- [x] A cooldown ability item disappears only after successful activation and is restored when the cooldown finishes.
- [x] The Tamer's named fishing rod has no cooldown and remains available after successful capture or placement.
- [x] A dropped class ability item vanishes immediately; a dropped captured-mob item instead attempts to spawn its mob safely.
- [x] `/tyrant item` restores currently available missing class items but cannot bypass cooldowns or create duplicates.
- [x] Missing ready items are restored on login and cooldown completion when inventory space is available.
- [x] When delivery fails because the inventory is full, no item is dropped and the player is told both why and how to use `/tyrant item` after making room.
- [x] Bound class items are removed when a player loses the class or the Tyrant's reign ends.
- [x] Death, inventory movement, server restart, repeated commands, and concurrent events cannot duplicate a bound item or its captured mob.
## Related
- [Assign unlocked classes](us-004-assign-unlocked-classes.md)
- [Capture and place mobs as a Tamer](us-007-capture-and-place-mobs.md)
- [Persistence model](../concepts/persistence-model.md)