33 lines
1.9 KiB
Markdown
33 lines
1.9 KiB
Markdown
---
|
|
type: User Story
|
|
title: "US-001: Opt into Leaf protection"
|
|
description: Let players voluntarily receive and relinquish a persistent Resistance boost.
|
|
status: done
|
|
---
|
|
|
|
# US-001: Opt into Leaf protection
|
|
|
|
As a **player**, I want to opt into Leaf protection so that I can receive a modest defensive boost while playing on a hard server.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] Players with the `leaf.use` permission, granted by default, can use `/leaf on`, `/leaf off`, and `/leaf status`.
|
|
- [x] `/leaf on` records the player's opt-in choice and grants Resistance I while Leaf is globally enabled.
|
|
- [x] Resistance remains continuously effective without distracting expiry or renewal messages or particles.
|
|
- [x] `/leaf off` records the player's opt-out choice and immediately removes only the Resistance effect managed by Leaf.
|
|
- [x] `/leaf status` clearly distinguishes the player's saved choice, active protection, administrative lock, and global Leaf state.
|
|
- [x] Repeating an already-satisfied `on` or `off` command is safe and explains that no change was needed.
|
|
- [x] Opt-in choices are keyed by UUID and survive logout and server restart.
|
|
- [x] A player who joins while opted in regains protection when Leaf is enabled.
|
|
- [x] Player-command autocomplete suggests only valid next arguments available to the sender.
|
|
- [x] Opted-in players receive quiet Strength I alongside Resistance I by default.
|
|
- [x] Player status reports active protection only when both configured Leaf effects are effective.
|
|
- [x] Missing Leaf effects are restored for opted-in online players within approximately one second after death, milk, commands, or plugins clear them.
|
|
- [x] Recovery remains suppressed while Leaf is globally disabled or the player is opted out.
|
|
|
|
## Related
|
|
|
|
- [US-002: Relinquish protection when attacking](us-002-relinquish-protection-when-attacking.md)
|
|
- [US-003: Identify protected players](us-003-identify-protected-players.md)
|
|
- [US-005: Administer Leaf](us-005-administer-leaf.md)
|