docs(design): define Tree Feller user stories
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
---
|
||||
type: User Story
|
||||
title: "US-007: Administer Tree Feller"
|
||||
description: Give administrators separate, structured commands for player access, progress, and species thresholds.
|
||||
status: backlog
|
||||
---
|
||||
|
||||
# US-007: Administer Tree Feller
|
||||
|
||||
As a **server administrator**, I want a dedicated administrative command tree so that I can manage Tree Feller without granting ordinary players administrative authority.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] All administrative operations are rooted at `/treefelleradmin` rather than `/treefeller`.
|
||||
- [ ] Administrative commands require `treefeller.admin`, which server operators receive by default and ordinary player permissions never imply.
|
||||
- [ ] `/treefelleradmin player <name|uuid> status` reports identity, saved enabled preference, administrative lock, and each species' progress, threshold, and unlock state.
|
||||
- [ ] `/treefelleradmin player <name|uuid> tree <type> grant` grants that species permanently without altering unrelated species.
|
||||
- [ ] `/treefelleradmin player <name|uuid> tree <type> reset` removes that species' unlock and resets its progress to zero without altering unrelated species.
|
||||
- [ ] A reset player can earn the species again and receive its normal earned-unlock announcement.
|
||||
- [ ] `/treefelleradmin player <name|uuid> locked <on|off>` controls an override that prevents all automatic felling for the player without changing their preference, progress, or unlocks.
|
||||
- [ ] An administratively locked player may continue accruing qualifying manual progress and receives a clear explanation when automatic felling is suppressed.
|
||||
- [ ] `/treefelleradmin threshold <type> <blocks>` validates and persistently changes the named species' unlock threshold.
|
||||
- [ ] Lowering a threshold does not scan or immediately mutate all player records; each affected player unlocks on their next qualifying block of that species.
|
||||
- [ ] Raising a threshold never revokes existing unlocks.
|
||||
- [ ] Player targets resolve exact online names, previously known names, and UUIDs without confusing players who have used the same name.
|
||||
- [ ] Tree-type arguments use stable documented identifiers covering every supported species.
|
||||
- [ ] Autocomplete is permission-aware and suggests valid subcommands, known player targets, properties, tree types, actions, and values for the current argument position.
|
||||
- [ ] Every successful mutation reports exactly what changed to the administrator and, when online, the affected player.
|
||||
- [ ] Invalid or unauthorized requests make no partial state or configuration changes.
|
||||
|
||||
## Related
|
||||
|
||||
- [US-001: Earn tree-type unlocks](us-001-earn-tree-type-unlocks.md)
|
||||
- [US-004: Control personal tree felling](us-004-control-personal-tree-felling.md)
|
||||
- [US-006: Announce tree unlocks](us-006-announce-tree-unlocks.md)
|
||||
- [US-008: Configure and persist Tree Feller](us-008-configure-and-persist-tree-feller.md)
|
||||
Reference in New Issue
Block a user