docs(design): define spawn plugin user stories

This commit is contained in:
dmg
2026-08-08 13:03:11 -04:00
commit a01f36db86
11 changed files with 291 additions and 0 deletions
@@ -0,0 +1,30 @@
---
type: User Story
title: "US-004: Grant and remove spawn access"
description: Let administrators grant custom spawn cooldowns, inspect access, and completely reset a player's access.
status: backlog
---
# US-004: Grant and remove spawn access
As a **server administrator**, I want to grant, inspect, and remove spawn access so that I can manage exceptions independently of boss progression.
## Acceptance criteria
- [ ] `/spawnadmin grant <player> <duration>` grants immediate `/spawn` access with the supplied cooldown.
- [ ] Friendly, case-insensitive duration units are accepted, including values such as `30m`, `2h`, and `1d`.
- [ ] Zero, negative, malformed, or overflowing grant durations are rejected with an explanatory message.
- [ ] A custom administrative grant overrides the player's boss-based cooldown tier while the grant exists.
- [ ] Killing qualifying enemies does not replace an active administrative grant's custom cooldown.
- [ ] `/spawnadmin remove <player>` removes any administrative grant, recorded enemy progress, and active cooldown from the player.
- [ ] After removal, the player begins with no access and can earn it again by defeating a qualifying enemy.
- [ ] `/spawnadmin access [page]` lists all players who currently have natural or granted access, including offline players.
- [ ] Each access-list entry identifies the player, access source, applicable cooldown, progression tier when relevant, and current remaining cooldown.
- [ ] Administrative player arguments support online players and previously known offline players when they can be resolved safely.
- [ ] Player state is stored by UUID while retaining the latest known player name for display and lookup.
## Related
- [US-001: Earn progressive spawn access](us-001-earn-progressive-spawn-access.md)
- [US-005: Ban and unban spawn access](us-005-manage-spawn-bans.md)
- [US-006: Configure plugin behavior](us-006-configure-plugin-behavior.md)