Files
spigot-base/design/log.md
T
dmg 4278e08bf3
Release / release (push) Successful in 2m28s
CI / build (push) Successful in 1m3s
feat(commands): unify settings and admin commands
2026-08-10 20:44:34 -04:00

72 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
type: Log
title: Spigot Base Design Log
description: 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`.