Files
spigot-heights/design/user-stories/us-007-manage-settings-commands.md
dmg f011410b17
Release / release (push) Successful in 2m54s
CI / build (push) Successful in 1m2s
feat(commands): view and set online player heights
2026-09-06 20:05:41 -04:00

2.4 KiB

type, title, description, status
type title description status
User Story US-007: Manage stature settings with commands Let administrators view and persistently change stature bounds with tab-completed commands. 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

  • /heights settings displays current settings; /heights set min|max <value> changes the selected bound.

  • Operators and senders with spigotheights.admin may use the commands, including console; unauthorized senders cannot change settings or receive suggestions.

  • Tab completion suggests subcommands, min/max, and valid example values, filtered by the typed prefix.

  • Successful changes apply immediately to gameplay and persist to plugins/SpigotHeights/config.yml without discarding unrelated configuration.

  • Invalid arguments or settings produce clear explanations and leave active and saved settings unchanged; persistence failure does not activate the new settings.

  • Existing players are not immediately resized; subsequent potion use, joins, and respawns use current limits, preserving the restoration exception for 1.0.

  • Automated tests and README documentation cover commands, permissions, completion, validation, persistence, and live settings.

  • 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.