Files
spigot-tyrant/design/user-stories/us-018-complete-commands-contextually.md
dmg 553db666e1
Release / release (push) Successful in 2m39s
CI / build (push) Successful in 1m10s
feat(armor): add Tyrant legacy rewards
2026-09-04 22:54:11 -04:00

2.6 KiB

type, title, description, status
type title description status
User Story US-018: Complete Tyrant commands contextually Replace Bukkit's player-name fallback with valid context-aware command suggestions. done

US-018: Complete Tyrant commands contextually

As a player or administrator, I want contextual command suggestions so that I can discover valid Tyrant commands and arguments.

Acceptance criteria

  • /tyrant suggests its available subcommands instead of arbitrary player names.
  • /tyrant buy suggests Tyrant unlock names.
  • /tyrant armor suggests helmet, chestplate, leggings, and boots and accepts no further arguments.
  • /tyrant assign suggests assassin, fixer, and tamer, followed by eligible online players.
  • /tyrant relinquish suggests confirm.
  • /vigilante suggests its available subcommands.
  • /vigilante invite suggests eligible online recruitment candidates.
  • /vigilante dismiss suggests current online Followers.
  • /tyrantadmin suggestions are visible only to senders with spigottyrant.admin.
  • /tyrantadmin start suggests online Tyrant and Vigilante candidates.
  • /tyrantadmin reset suggests confirm.
  • /tyrantadmin arena suggests set and status.
  • /tyrantadmin suggests grantpoint, which accepts no additional arguments.
  • Suggestions are filtered case-insensitively by the partially typed argument.
  • Suggestions never include syntactically invalid options for the current argument position.
  • Console completion works for administrative commands without exposing player-only commands as executable console actions.
  • Existing command execution behavior remains unchanged.

Validation

Automated tests verify root syntax, unlocks, legacy armor pieces, classes, confirmations, eligible recruits, current Followers, permission gating, online administrative candidates, the argument-free grantpoint command, argument positions, and case-insensitive prefix filtering. The complete ./gradlew clean check jar lifecycle passes.