31 lines
1.9 KiB
Markdown
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)
|