33 lines
2.6 KiB
Markdown
33 lines
2.6 KiB
Markdown
---
|
||
type: Log
|
||
title: Spigot Harvest Design Log
|
||
description: Chronological record of material decisions affecting the Spigot Harvest design.
|
||
---
|
||
|
||
# Spigot Harvest Design Log
|
||
|
||
## 2026-08-14 — Initial harvesting progression design
|
||
|
||
- Initial crop support includes wheat, carrots, potatoes, and beetroot, with an independent Level 0–X progression path for each crop.
|
||
- Normal crop breaking triggers auto-harvest, while sneaking bypasses auto-harvest without preventing the manually broken mature crop from contributing progress.
|
||
- Connected crops may be adjacent in any of the eight horizontal directions and differ by no more than one Y level for each connection.
|
||
- The total operation cap includes the triggering crop and doubles from 4 at Level I through 2,048 at Level X.
|
||
- Level requirements are incremental rather than cumulative and are based on the preceding level's harvest cap: a multiplier of 100 through Level V, 200 for Levels VI–VIII, 300 for Level IX, and 400 for Level X.
|
||
- Automated harvests contribute progression, execute at one crop per server tick by default, and permit only one active auto-harvest operation per player.
|
||
- Qualifying progress displays a player-toggleable boss bar that is enabled by default, persists its preference, and remains visible for five seconds after its latest update by default.
|
||
- Harvested crops are automatically replanted, remaining drops go to the player's inventory, and inventory overflow drops near the player.
|
||
- The project and delivery pipeline will follow the neighboring Spigot Base project where applicable.
|
||
|
||
## 2026-08-14 — Build and release foundation completed
|
||
|
||
- Added the Java 17 Gradle/Spigot foundation, strict compiler linting, JUnit 5 lifecycle, plugin metadata, and initial documentation.
|
||
- Added Gitea CI and semantic-release workflows with development and versioned JAR artifacts.
|
||
- Verified the foundation with `./gradlew clean check jar`.
|
||
|
||
## 2026-08-14 — Initial plugin scope completed
|
||
|
||
- Implemented independent Level 0–X progression for wheat, carrots, potatoes, and beetroot with validated configuration and atomic UUID-keyed YAML state.
|
||
- Implemented deterministic connected-crop traversal, one-operation-per-player scheduling, one-crop-per-tick harvesting, protection-event checks, automatic replanting, inventory delivery, and overflow drops.
|
||
- Added player status and boss-bar controls, five-second idle progress presentation, unlock titles, administrative inspection and mutations, offline-player lookup, and safe confirmed resets.
|
||
- Developed the progression, traversal, drops, persistence, settings, status, and administration behavior through failing-first automated tests.
|