37 lines
2.8 KiB
Markdown
37 lines
2.8 KiB
Markdown
---
|
|
type: User Story
|
|
title: "US-007: Administer Tree Feller"
|
|
description: Give administrators separate, structured commands for player access, progress, and species thresholds.
|
|
status: done
|
|
---
|
|
|
|
# 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
|
|
|
|
- [x] All administrative operations are rooted at `/treefelleradmin` rather than `/treefeller`.
|
|
- [x] Administrative commands require `treefeller.admin`, which server operators receive by default and ordinary player permissions never imply.
|
|
- [x] `/treefelleradmin player <name|uuid> status` reports identity, saved enabled preference, administrative lock, and each species' progress, threshold, and unlock state.
|
|
- [x] `/treefelleradmin player <name|uuid> tree <type> grant` grants that species permanently without altering unrelated species.
|
|
- [x] `/treefelleradmin player <name|uuid> tree <type> reset` removes that species' unlock and resets its progress to zero without altering unrelated species.
|
|
- [x] A reset player can earn the species again and receive its normal earned-unlock announcement.
|
|
- [x] `/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.
|
|
- [x] An administratively locked player may continue accruing qualifying manual progress and receives a clear explanation when automatic felling is suppressed.
|
|
- [x] `/treefelleradmin threshold <type> <blocks>` validates and persistently changes the named species' unlock threshold.
|
|
- [x] Lowering a threshold does not scan or immediately mutate all player records; each affected player unlocks on their next qualifying block of that species.
|
|
- [x] Raising a threshold never revokes existing unlocks.
|
|
- [x] Player targets resolve exact online names, previously known names, and UUIDs without confusing players who have used the same name.
|
|
- [x] Tree-type arguments use stable documented identifiers covering every supported species.
|
|
- [x] Autocomplete is permission-aware and suggests valid subcommands, known player targets, properties, tree types, actions, and values for the current argument position.
|
|
- [x] Every successful mutation reports exactly what changed to the administrator and, when online, the affected player.
|
|
- [x] 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)
|