2.0 KiB
2.0 KiB
type, title, description, status
| type | title | description | status |
|---|---|---|---|
| User Story | US-011: Configure and persist progression | Give operators validated configuration and durable, defensive storage for all base progression behavior. | done |
US-011: Configure and persist progression
As a server operator, I want progression behavior to be configurable and durable so that the plugin remains predictable across restarts and server changes.
Acceptance criteria
- Configuration supports all qualifying materials, progression thresholds, radii, vertical flight limits, warning-buffer distance, warm-ups, cooldowns, prices, particle settings, and notification durations.
- Default values match the progression requirements documented by the related user stories.
- Thresholds and levels are validated as nonnegative, representable, and sequentially coherent where required.
- Radii, vertical ranges, durations, and prices reject unsafe or nonsensical values.
- Invalid required configuration prevents partial plugin initialization and produces a clear server log message.
- UUID-keyed state persists latest known names, base locations, counters, levels, relocation times, teleport times, visitor cooldowns, navigation preferences, flight preferences, boss-bar preferences, and visitor settings.
- Cooldowns and relocation limits use real elapsed timestamps and continue while players are offline.
- State is saved safely so a failed write does not replace valid persisted state with a partial document.
- Corrupt, unknown, or invalid records are handled defensively and cannot silently grant progression or privileges.
- Unknown forward-compatible configuration and state fields are preserved where practical.