Files
spigot-leaf/design/user-stories/us-005-administer-leaf.md
T

33 lines
2.1 KiB
Markdown

---
type: User Story
title: "US-005: Administer Leaf"
description: Give administrators command-based control over global and per-player Leaf behavior.
status: done
---
# US-005: Administer Leaf
As a **server administrator**, I want to control Leaf globally and per player so that I can support players, prevent misuse, and suspend protection for server events.
## Acceptance criteria
- [x] Administrative commands require `leaf.admin`, which server operators receive by default.
- [x] `/leaf enabled <on|off>` globally enables or disables Leaf.
- [x] Global disablement immediately suppresses Leaf-managed Resistance, prefixes, and onboarding reminders without erasing player opt-in choices.
- [x] Global enablement immediately restores protection and prefixes for eligible online opted-in players.
- [x] `/leaf player <name|uuid> status` reports the player's identity, saved opt-in choice, active-protection state, lock state, and first-join time.
- [x] `/leaf player <name|uuid> enabled <on|off>` changes the player's saved opt-in choice and immediately reconciles their online effect and prefix.
- [x] `/leaf player <name|uuid> locked <on|off>` controls whether that player can change their own saved choice.
- [x] A locked player receives a clear explanation when `/leaf on` or `/leaf off` is denied.
- [x] PvP-triggered opt-out remains authoritative even for a locked player.
- [x] Player targets resolve online names, previously known names, and UUIDs without confusing two players who used the same name.
- [x] `/leaf strength <1-5>` changes the live Resistance level and immediately updates protected online players.
- [x] Administrative autocomplete is permission-aware and suggests valid subcommands, known player targets, properties, levels, and `on` or `off` values for the current argument position.
- [x] Every successful mutation reports exactly what changed, and invalid requests make no partial changes.
## Related
- [US-001: Opt into Leaf protection](us-001-opt-into-leaf-protection.md)
- [US-002: Relinquish protection when attacking](us-002-relinquish-protection-when-attacking.md)
- [US-006: Configure and persist Leaf](us-006-configure-and-persist-leaf.md)