Files
spigot-harvest/design/log.md
T
dmg 9f03abbefe
Release / release (push) Successful in 2m18s
CI / build (push) Successful in 57s
fix(harvest): replant triggering crop
2026-08-14 18:44:36 -04:00

3.0 KiB
Raw Blame History

type, title, description
type title description
Log Spigot Harvest Design Log 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 0X 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 VIVIII, 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 0X 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.

2026-08-14 — Triggering crop replant fix

  • Changed auto-harvest to process and replant the manually broken triggering crop immediately before animating connected crops.
  • Kept the triggering crop inside the level cap, so Level I processes the trigger and at most three connected crops.
  • Added regression coverage for triggering-crop execution, replanting, and operation-cap accounting.
  • Verified the fix with ./gradlew clean check jar.