37 lines
2.4 KiB
Markdown
37 lines
2.4 KiB
Markdown
---
|
|
type: User Story
|
|
title: "US-007: Manage stature settings with commands"
|
|
description: Let administrators view and persistently change stature bounds with tab-completed commands.
|
|
status: done
|
|
---
|
|
|
|
# US-007: Manage stature settings with commands
|
|
|
|
As a **server administrator**, I want commands with tab completion so that I can change stature limits without restarting the server.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] `/heights settings` displays current settings; `/heights set min|max <value>` changes the selected bound.
|
|
- [x] Operators and senders with `spigotheights.admin` may use the commands, including console; unauthorized senders cannot change settings or receive suggestions.
|
|
- [x] Tab completion suggests subcommands, `min`/`max`, and valid example values, filtered by the typed prefix.
|
|
- [x] Successful changes apply immediately to gameplay and persist to `plugins/SpigotHeights/config.yml` without discarding unrelated configuration.
|
|
- [x] Invalid arguments or settings produce clear explanations and leave active and saved settings unchanged; persistence failure does not activate the new settings.
|
|
- [x] Existing players are not immediately resized; subsequent potion use, joins, and respawns use current limits, preserving the restoration exception for `1.0`.
|
|
- [x] Automated tests and README documentation cover commands, permissions, completion, validation, persistence, and live settings.
|
|
|
|
- [x] Command help and completion include the player-height subcommand without changing existing min/max command behavior.
|
|
|
|
## Verification
|
|
|
|
- Player-command extension verified with `./gradlew clean check jar` (33 passing tests), including existing settings-command regressions and new player-name/size completions.
|
|
|
|
- `./gradlew clean check jar` passed all 26 tests, including command execution with authorized/unauthorized generic senders, prefix-filtered valid completions, argument validation, failed saves, YAML reload/preservation, and live domain behavior.
|
|
- Code inspection confirms command/permission registration and shared settings suppliers in consumption, join, respawn, and launcher adapters. No live-server command or client tab-completion test was performed.
|
|
|
|
## Related
|
|
|
|
- [US-008: View and set player height](us-008-manage-player-height.md)
|
|
|
|
- [US-004: Configure and persist stature behavior](us-004-configure-and-persist.md)
|
|
- [US-006: Restore default stature](us-006-restore-default-stature.md)
|