Files
spigot-tyrant/design/user-stories/us-017-use-bound-role-control-items.md

2.9 KiB

type, title, description, status
type title description status
User Story US-017: Use bound role control items Give the active Tyrant and Vigilante secure inventory items that open their control panels. done

US-017: Use bound role control items

As a Tyrant or Vigilante, I want a bound role item that opens my control panel so that I can access role controls without typing a command.

Acceptance criteria

  • A player receives the appropriate control item when becoming the active Tyrant or Vigilante.
  • The Tyrant control item opens the Tyrant control panel when used.
  • The Vigilante control item opens the Vigilante control panel when used.
  • The Tyrant control item defaults to a Nether Star named Tyrant Control.
  • The Vigilante control item defaults to a Compass named Vigilante Control.
  • Each item's material and name are configurable, and hidden metadata identifies its owner, associated role, and the plugin.
  • Only the current role holder identified by the item's metadata can use the item.
  • A former role holder or another player cannot use or retain the item.
  • /tyrant item restores a missing Tyrant control item in addition to existing eligible class items.
  • /vigilante item restores a missing Vigilante control item.
  • Recovery commands cannot create duplicate control items.
  • Using a recovery command while the inventory is full does not drop the item and explains how to retry.
  • A role control item cannot be placed, crafted with, stored, framed, dispensed, transferred, or moved into another inventory.
  • Dropping a role control item removes it immediately rather than creating a transferable dropped item.
  • If a role control item leaves its owner's inventory during death or another inventory event, it is removed and may be recovered after respawn.
  • A missing role control item is restored automatically on login or role assignment when inventory space is available.
  • Every copy is removed immediately when the player loses the associated role.
  • Repeated commands, role transitions, death, logout, restart, and concurrent inventory events cannot duplicate role control items.
  • Existing /tyrant, /tyrant menu, /vigilante, and /vigilante menu control-panel access remains available.

Validation

Automated tests verify role eligibility, paused-role retention, reconciliation and recovery, panel activation, role-specific commands, and configuration defaults. Inventory listeners cover transfer and departure paths, and the complete ./gradlew clean check jar lifecycle passes.