Files
spigot-base/design/log.md
T
dmg f36c40d5aa
Release / release (push) Successful in 2m22s
CI / build (push) Successful in 1m0s
fix(navigation): hide guidance near base
2026-08-10 22:51:19 -04:00

6.3 KiB
Raw 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.

2026-08-10 — Spawnable block overlay

  • Added persistent progression for Survival-mode block placements anywhere, with existing in-base placement counts used as a safe migration minimum.
  • Added /basesettings spawnable enable|disable after a configurable 250-placement unlock and reported its progress and preference in player and admin status output.
  • Added admin controls for total placement progress, the unlock threshold, and each unlocked player's overlay preference.
  • Added owner-only red particles for nearby dark spawning surfaces inside base bounds, using bounded incremental scanning and rendering budgets.
  • Verified the feature with ./gradlew clean check jar.

2026-08-10 — Navigation visibility buffer

  • Limited enabled base navigation particles to the base's world and positions more than 25 horizontal blocks beyond the current base border.
  • Used the live size-tier radius so expansion and relocation immediately update the visibility threshold.
  • Added exact-boundary and controller integration coverage.
  • Verified the change with ./gradlew clean check jar.