feat(command): add personal Tree Feller controls
This commit is contained in:
@@ -42,3 +42,10 @@
|
||||
- Added Survival-and-axe eligibility, automatic-break suppression, durable one-point increments, saturating counters, permanent unlocks, and next-qualifying-block threshold evaluation.
|
||||
- Registered progress handling through the Spigot block-break lifecycle and persisted every accepted update before notifying observers.
|
||||
- Verified taxonomy, detection, tools, eligibility, progression, persistence, and the complete build with `./gradlew clean check jar`.
|
||||
|
||||
### US-004 personal controls completed
|
||||
|
||||
- Added `/treefeller enabled [on|off]` with durable, idempotent preference changes and administrative-override reporting.
|
||||
- Added player-only usage and positional completion for `enabled`, `unlocked`, `undo`, and boolean values without exposing the administrative command tree.
|
||||
- Registered configurable player messages and kept `treefeller.command` separate from `treefeller.admin`.
|
||||
- Verified state preservation, reporting, autocomplete, metadata, and the complete build with `./gradlew clean check jar`.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user