Files
spigot-tree-feller/design/user-stories/us-007-administer-tree-feller.md

2.8 KiB

type, title, description, status
type title description status
User Story US-007: Administer Tree Feller Give administrators separate, structured commands for player access, progress, and species thresholds. done

US-007: Administer Tree Feller

As a server administrator, I want a dedicated administrative command tree so that I can manage Tree Feller without granting ordinary players administrative authority.

Acceptance criteria

  • All administrative operations are rooted at /treefelleradmin rather than /treefeller.
  • Administrative commands require treefeller.admin, which server operators receive by default and ordinary player permissions never imply.
  • /treefelleradmin player <name|uuid> status reports identity, saved enabled preference, administrative lock, and each species' progress, threshold, and unlock state.
  • /treefelleradmin player <name|uuid> tree <type> grant grants that species permanently without altering unrelated species.
  • /treefelleradmin player <name|uuid> tree <type> reset removes that species' unlock and resets its progress to zero without altering unrelated species.
  • A reset player can earn the species again and receive its normal earned-unlock announcement.
  • /treefelleradmin player <name|uuid> locked <on|off> controls an override that prevents all automatic felling for the player without changing their preference, progress, or unlocks.
  • An administratively locked player may continue accruing qualifying manual progress and receives a clear explanation when automatic felling is suppressed.
  • /treefelleradmin threshold <type> <blocks> validates and persistently changes the named species' unlock threshold.
  • Lowering a threshold does not scan or immediately mutate all player records; each affected player unlocks on their next qualifying block of that species.
  • Raising a threshold never revokes existing unlocks.
  • Player targets resolve exact online names, previously known names, and UUIDs without confusing players who have used the same name.
  • Tree-type arguments use stable documented identifiers covering every supported species.
  • Autocomplete is permission-aware and suggests valid subcommands, known player targets, properties, tree types, actions, and values for the current argument position.
  • Every successful mutation reports exactly what changed to the administrator and, when online, the affected player.
  • Invalid or unauthorized requests make no partial state or configuration changes.