feat(command): add personal Tree Feller controls

This commit is contained in:
dmg
2026-08-11 17:20:40 -04:00
parent 8067b3ebfb
commit 486780c049
5 changed files with 245 additions and 11 deletions
@@ -2,7 +2,7 @@
type: User Story
title: "US-004: Control personal tree felling"
description: Let players persistently enable or disable their own automatic tree felling.
status: backlog
status: done
---
# US-004: Control personal tree felling
@@ -11,16 +11,16 @@ As a **player**, I want to turn automatic felling on or off independently of my
## Acceptance criteria
- [ ] `/treefeller enabled <on|off>` enables or disables automatic felling for the issuing player.
- [ ] `/treefeller enabled` without a value reports the player's current preference and whether an administrative lock currently overrides it.
- [ ] The preference defaults to enabled for a player with no saved value.
- [ ] Changing the preference does not alter species progress or earned unlocks.
- [ ] Repeating the currently saved value is idempotent and reports that no change was needed.
- [ ] The player receives clear confirmation after a successful change.
- [ ] The saved preference survives logout and server restart.
- [ ] `/treefeller` provides concise usage for `enabled`, `unlocked`, and `undo` without advertising inaccessible administrative commands.
- [ ] Position-aware autocomplete suggests player subcommands and valid `on` or `off` values.
- [ ] Player commands use player permissions that are distinct from `treefeller.admin`; possession of player permissions does not grant `/treefelleradmin` access.
- [x] `/treefeller enabled <on|off>` enables or disables automatic felling for the issuing player.
- [x] `/treefeller enabled` without a value reports the player's current preference and whether an administrative lock currently overrides it.
- [x] The preference defaults to enabled for a player with no saved value.
- [x] Changing the preference does not alter species progress or earned unlocks.
- [x] Repeating the currently saved value is idempotent and reports that no change was needed.
- [x] The player receives clear confirmation after a successful change.
- [x] The saved preference survives logout and server restart.
- [x] `/treefeller` provides concise usage for `enabled`, `unlocked`, and `undo` without advertising inaccessible administrative commands.
- [x] Position-aware autocomplete suggests player subcommands and valid `on` or `off` values.
- [x] Player commands use player permissions that are distinct from `treefeller.admin`; possession of player permissions does not grant `/treefelleradmin` access.
## Related