docs(design): complete initial harvest stories
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
type: User Story
|
||||
title: "US-003: Harvest connected mature crops"
|
||||
description: Animate bounded harvesting across connected mature crops when a player performs a normal crop break.
|
||||
status: in-progress
|
||||
status: done
|
||||
---
|
||||
|
||||
# US-003: Harvest connected mature crops
|
||||
@@ -11,22 +11,22 @@ As a **player**, I want one normal crop break to harvest a connected area at a v
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] Normally breaking a fully grown supported crop starts auto-harvest when the player has at least Level I for that crop.
|
||||
- [ ] Breaking while sneaking performs normal single-crop harvesting and never starts auto-harvest.
|
||||
- [ ] The manually broken triggering crop is included in the operation's maximum crop count.
|
||||
- [ ] Auto-harvest traverses only fully grown crops of the same type as the triggering crop.
|
||||
- [ ] A crop is connected when its horizontal position touches the current crop in any of the eight directions and its Y coordinate differs from the current crop by no more than one block.
|
||||
- [ ] Connectivity is evaluated per link, allowing a connected operation to follow gradual rises and drops.
|
||||
- [ ] Traversal is deterministic and never processes the same block more than once in an operation.
|
||||
- [ ] The operation stops when it reaches the player's crop-level cap or no eligible connected crop remains.
|
||||
- [ ] Auto-harvest processes a configurable number of crops per server tick, defaulting to one.
|
||||
- [ ] A player can have no more than one active auto-harvest operation at a time.
|
||||
- [ ] A normal crop broken while that player already has an active operation is harvested normally and may contribute progress, but it does not start or join another operation.
|
||||
- [ ] Auto-harvest does not force-load chunks or continue into unloaded chunks.
|
||||
- [ ] A crop that is no longer mature or matching when its turn arrives is skipped safely.
|
||||
- [ ] Crop breaks denied by the server or another protection plugin are left unchanged, yield no drops, and contribute no progress.
|
||||
- [ ] An operation ends safely when exhausted, cancelled, the player disconnects, or the plugin disables.
|
||||
- [ ] Separate players may run independent auto-harvest operations concurrently.
|
||||
- [x] Normally breaking a fully grown supported crop starts auto-harvest when the player has at least Level I for that crop.
|
||||
- [x] Breaking while sneaking performs normal single-crop harvesting and never starts auto-harvest.
|
||||
- [x] The manually broken triggering crop is included in the operation's maximum crop count.
|
||||
- [x] Auto-harvest traverses only fully grown crops of the same type as the triggering crop.
|
||||
- [x] A crop is connected when its horizontal position touches the current crop in any of the eight directions and its Y coordinate differs from the current crop by no more than one block.
|
||||
- [x] Connectivity is evaluated per link, allowing a connected operation to follow gradual rises and drops.
|
||||
- [x] Traversal is deterministic and never processes the same block more than once in an operation.
|
||||
- [x] The operation stops when it reaches the player's crop-level cap or no eligible connected crop remains.
|
||||
- [x] Auto-harvest processes a configurable number of crops per server tick, defaulting to one.
|
||||
- [x] A player can have no more than one active auto-harvest operation at a time.
|
||||
- [x] A normal crop broken while that player already has an active operation is harvested normally and may contribute progress, but it does not start or join another operation.
|
||||
- [x] Auto-harvest does not force-load chunks or continue into unloaded chunks.
|
||||
- [x] A crop that is no longer mature or matching when its turn arrives is skipped safely.
|
||||
- [x] Crop breaks denied by the server or another protection plugin are left unchanged, yield no drops, and contribute no progress.
|
||||
- [x] An operation ends safely when exhausted, cancelled, the player disconnects, or the plugin disables.
|
||||
- [x] Separate players may run independent auto-harvest operations concurrently.
|
||||
|
||||
## Related
|
||||
|
||||
|
||||
Reference in New Issue
Block a user