2.3 KiB
2.3 KiB
type, title, description, status
| type | title | description | status |
|---|---|---|---|
| User Story | US-007: Configure and persist harvesting behavior | Give operators validated configuration and durable storage for crop progression and harvesting behavior. | done |
US-007: Configure and persist harvesting behavior
As a server operator, I want harvesting behavior to be configurable and player progression to be durable so that the plugin remains predictable across restarts and server changes.
Acceptance criteria
- Configuration defines supported crops and the block material, maturity rule, and planting item for each crop.
- Configuration defines every level-local requirement and operation cap independently for each supported crop.
- Configuration defines eligible game modes, crops processed per tick, boss-bar idle duration, and unlock-notification timing.
- Defaults match the crops, requirements, caps, one-crop-per-tick pace, Survival-only progression, and five-second boss-bar duration documented by related stories.
- Requirements and caps are positive, representable, and sequentially coherent.
- Processing rates and notification durations 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 player names, each crop's earned level and level-local progress, and the player's boss-bar preference.
- Existing player records without a boss-bar preference safely default to enabled.
- Active auto-harvest operations are transient and do not resume after a restart or reconnect.
- State is saved safely so a failed write does not replace valid persisted state with a partial document.
- Corrupt or invalid records are handled defensively and cannot silently grant progression or larger operation caps.
- Unknown forward-compatible configuration and state fields are preserved where practical.