Files
spigot-base/design/log.md
T
dmg 26aeb8c416
Release / release (push) Successful in 2m18s
CI / build (push) Successful in 1m1s
feat(border): add base boundary particles
2026-08-10 22:12:16 -04:00

5.3 KiB
Raw Permalink Blame History

type, title, description
type title description
Log Spigot Base Design Log Chronological record of material decisions affecting the Spigot Base design.

Spigot Base Design Log

2026-08-09 — Initial progression design

  • Base progression is sequential: Base I establishes a base, Base II provides navigation, Base III provides personal teleportation, and Base IV permits visitor teleportation.
  • Every secondary progression path requires Base I.
  • A base is cylindrical and begins with a 10-block radius and a vertical extent 25 blocks above and below its set Y coordinate.
  • Only Survival-mode activity contributes progress; repeatedly placing and breaking blocks is permitted.
  • Flight is limited to the base, includes a five-block horizontal warning buffer, and can be toggled by the player.
  • Player-facing administration will initially use commands rather than an inventory UI.
  • The build and release pipeline will follow the neighboring Trigger Spawn project pattern.

2026-08-09 — Implementation started

  • Approved implementation begins with the tested Gradle/Spigot foundation, validated configuration, and durable player state.
  • Feature work will proceed incrementally using tests before implementation where practical.

2026-08-09 — Core implementation checkpoint

  • Implemented UUID-keyed YAML state, validated configuration, Base IIV progression, base sizing, particle navigation, controlled base flight, personal and visitor teleportation, progress feedback, and initial administrative commands.
  • Added Gradle, Spigot metadata, Gitea CI/release workflows, and project documentation based on Trigger Spawn.
  • Verified the implementation with ./gradlew clean check jar: 34 tests passed and the plugin JAR was produced successfully.
  • User stories remain in progress pending live-server integration verification and completion of runtime administrative configuration editing.

2026-08-09 — Navigation preference fix

  • Added explicit, idempotent /basenavigation on and /basenavigation off modes with autocomplete while retaining no-argument toggling.
  • Preserved a disabled navigation preference during later grass-or-dirt progression instead of forcing navigation back on.

2026-08-09 — Initial release scope completed

  • Added live, validated, persisted numeric configuration updates through /baseadmin config.
  • Added administrative progress-counter updates, prerequisite-aware level changes, cooldown clearing, and cascading path resets.
  • Made progression materials, visitor currency, boss-bar duration, particle count, and title timing configurable.
  • Preserved unknown forward-compatible YAML fields for retained player records while continuing to reject invalid progression state.
  • Completed and verified all approved user stories with the automated Gradle check lifecycle.

2026-08-10 — Player command aliases

  • Added /sethome for /setbase, /home for /base, and /visit for /gotobase.
  • Visitor autocomplete remains available for eligible offline bases through the /visit alias.
  • Verified the aliases and plugin build with ./gradlew clean check jar.

2026-08-10 — Toggle command autocomplete

  • Added explicit, idempotent on and off modes and autocomplete to base flight and visitor access while retaining no-argument toggling.
  • Added /homenavigation, /homeflight, and /homevisitors aliases with the same autocomplete as their canonical commands.
  • Generalized toggle preference resolution for navigation, flight, and visitor access.
  • Verified the implementation with ./gradlew clean check jar.

2026-08-10 — Unified base settings command

  • Replaced the separate progress, navigation, flight, and visitor commands with /basesettings and its /homesettings alias.
  • Added nested autocomplete for status, Base IV upgrades, visitor access, navigation, flight, and progress boss-bar settings.
  • Moved the Base IV purchase from /base upgrade to /basesettings upgrade, leaving /base and /home dedicated to personal teleportation.
  • Preserved the full progression report as the default /basesettings response and as /basesettings status.
  • Verified the breaking command restructure with ./gradlew clean check jar.

2026-08-10 — Administrative command autocomplete and reset safety

  • Added /homeadmin as an alias for /baseadmin and replaced the administrative progress subcommand with status.
  • Added permission-aware, context-sensitive autocomplete for subcommands, online and known offline players, paths, levels, counters, cooldown types, reset confirmation, and numeric configuration keys.
  • Removed the unsafe unconfirmed base reset path; complete resets now require reset <player> all confirm.
  • Tightened argument validation and replaced implementation-specific enum errors with player-facing usage guidance.
  • Verified the administrative revision with ./gradlew clean check jar.

2026-08-10 — Base border visualization

  • Added persisted, owner-only base border particles controlled by /basesettings border enable|disable with contextual autocomplete.
  • Rendered a bounded nearby arc at the player's current height using the current base radius while respecting world and vertical bounds.
  • Added border preference reporting to player and administrative status output and safe defaults for existing state files.
  • Verified the feature with ./gradlew clean check jar.