Files
dmg d9051e1661
Release / release (push) Failing after 11s
CI / build (push) Successful in 2m9s
feat(access): manage spawn access grants
2026-08-08 13:21:43 -04:00

31 lines
1.9 KiB
Markdown

---
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: done
---
# 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
- [x] `/spawnadmin grant <player> <duration>` grants immediate `/spawn` access with the supplied cooldown.
- [x] Friendly, case-insensitive duration units are accepted, including values such as `30m`, `2h`, and `1d`.
- [x] Zero, negative, malformed, or overflowing grant durations are rejected with an explanatory message.
- [x] A custom administrative grant overrides the player's boss-based cooldown tier while the grant exists.
- [x] Killing qualifying enemies does not replace an active administrative grant's custom cooldown.
- [x] `/spawnadmin remove <player>` removes any administrative grant, recorded enemy progress, and active cooldown from the player.
- [x] After removal, the player begins with no access and can earn it again by defeating a qualifying enemy.
- [x] `/spawnadmin access [page]` lists all players who currently have natural or granted access, including offline players.
- [x] Each access-list entry identifies the player, access source, applicable cooldown, progression tier when relevant, and current remaining cooldown.
- [x] Administrative player arguments support online players and previously known offline players when they can be resolved safely.
- [x] 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)