Files
spigot-base/design/user-stories/us-010-administer-player-progression.md
T
dmg 4278e08bf3
Release / release (push) Successful in 2m28s
CI / build (push) Successful in 1m3s
feat(commands): unify settings and admin commands
2026-08-10 20:44:34 -04:00

2.7 KiB

type, title, description, status
type title description status
User Story US-010: Administer player progression Let administrators inspect and safely modify player progression and live progression settings through commands. done

US-010: Administer player progression

As a server administrator, I want command-based progression controls so that I can inspect players, correct state, and tune requirements without an inventory UI.

Acceptance criteria

  • Administrative commands require spigotbase.admin, which server operators receive by default.
  • Administrative player arguments safely resolve online players and previously known offline players.
  • Player state remains keyed by UUID while retaining the latest known name for lookup and display.
  • /baseadmin status <player> displays the player's base, counters, earned path levels, active cooldowns, toggles, and visitor settings.
  • /baseadmin setlevel <player> <path> <level> sets an earned path level while enforcing or explicitly granting required preceding levels.
  • /baseadmin setprogress <player> <path> <amount> updates the selected counter and consistently evaluates reached tiers.
  • /baseadmin reset <player> <size|flight|warmup|cooldown> resets a selected path without silently leaving benefits that require it.
  • /baseadmin reset <player> base is rejected and directs the administrator to the confirmed complete-reset command.
  • /baseadmin reset <player> all removes the player's base, progression, active cooldowns, and plugin preferences after confirmation.
  • Administrators can clear personal and visitor cooldowns independently.
  • Administrative commands can update configured block requirements, warm-ups, and cooldowns for each level using validated values.
  • Runtime configuration changes are persisted for subsequent restarts.
  • Lowered progression requirements are evaluated for a player on their next relevant action rather than immediately updating every stored player.
  • Every successful mutation reports exactly what changed, and invalid requests make no partial changes.
  • /homeadmin aliases /baseadmin with identical permission requirements and autocomplete.
  • Permission-aware autocomplete offers subcommands, online and known offline players, progression paths, valid levels, progress counters, cooldown types, reset paths and confirmation, and numeric configuration keys.
  • Invalid and extra arguments show friendly usage without exposing implementation-specific enum errors or modifying state.