feat(admin): manage player progression

This commit is contained in:
dmg
2026-08-08 14:21:55 -04:00
parent 3cd1ab6290
commit 3bf00ea764
13 changed files with 293 additions and 44 deletions
+1
View File
@@ -18,3 +18,4 @@ description: Chronological record of material changes to the Spigot Creeper Fear
- Completed US-003 with temporary configurable boss bars, current-tier progress presentation, full-screen rank-up titles, and maximum-rank hiding.
- Extended US-001 so a self-destructing creeper awards deduplicated progress and normal feedback to every player its explosion hits.
- Completed US-004 with an asynchronous self-service progress command, ordinary-player permission, completion output, and command metadata.
- Completed US-005 with UUID-backed offline inspection, atomic progress and rank administration, separate permissions, online-state refresh, and audit logging.
@@ -2,7 +2,7 @@
type: User Story
title: "US-005: Administer player progression"
description: Let authorized administrators inspect and modify online or offline player rank and tier progress.
status: backlog
status: done
---
# US-005: Administer player progression
@@ -11,19 +11,19 @@ As a **server administrator**, I want to inspect and modify player progress so t
## Acceptance criteria
- [ ] `/creeperaura progress <player>` reports another player's rank, current-tier progress, next requirement, and remaining kills.
- [ ] `/creeperaura set <player> <progress>` sets a non-negative current-tier progress value without implicitly changing rank.
- [ ] `/creeperaura add <player> <progress>` adjusts current-tier progress without allowing a negative result.
- [ ] `/creeperaura rank <player> <locked|I|II|III|IV|V|VI>` explicitly changes rank and resets current-tier progress to zero.
- [ ] Rank VI never retains current-tier progress.
- [ ] Inspection and modification work for known offline players as well as online players.
- [ ] Players are resolved to stored UUIDs so name changes do not create duplicate progression records.
- [ ] Administrative changes are persisted immediately.
- [ ] An online affected player's feedback and aura state are updated after a change.
- [ ] Administrative commands require distinct, documented permissions suitable for inspection and modification.
- [ ] Unauthorized use does not disclose another player's progression.
- [ ] Invalid player names, ambiguous identities, invalid numbers, and storage failures produce clear responses without partial changes.
- [ ] Successful administrative changes are written to the server log with the actor, target, old value, and new value.
- [x] `/creeperaura progress <player>` reports another player's rank, current-tier progress, next requirement, and remaining kills.
- [x] `/creeperaura set <player> <progress>` sets a non-negative current-tier progress value without implicitly changing rank.
- [x] `/creeperaura add <player> <progress>` adjusts current-tier progress without allowing a negative result.
- [x] `/creeperaura rank <player> <locked|I|II|III|IV|V|VI>` explicitly changes rank and resets current-tier progress to zero.
- [x] Rank VI never retains current-tier progress.
- [x] Inspection and modification work for known offline players as well as online players.
- [x] Players are resolved to stored UUIDs so name changes do not create duplicate progression records.
- [x] Administrative changes are persisted immediately.
- [x] An online affected player's feedback and aura state are updated after a change.
- [x] Administrative commands require distinct, documented permissions suitable for inspection and modification.
- [x] Unauthorized use does not disclose another player's progression.
- [x] Invalid player names, ambiguous identities, invalid numbers, and storage failures produce clear responses without partial changes.
- [x] Successful administrative changes are written to the server log with the actor, target, old value, and new value.
## Related