Updates documentation.
This commit is contained in:
59
docs/modernization-plan.md
Normal file
59
docs/modernization-plan.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# Metropolis Modernization Plan
|
||||
|
||||
This is the maintained status and follow-up plan. Implemented behavior is
|
||||
described in [README.md](../README.md); automated and manual coverage are
|
||||
separated in [human-tests.md](human-tests.md). A feature is not considered
|
||||
runtime-verified merely because its code or an isolated unit test exists.
|
||||
|
||||
## Completed
|
||||
|
||||
- **Build and CI modernization.** Gradle 9.8 builds the Java 25 plugin and
|
||||
expands the version into `plugin.yml`. CI runs `test` and the plugin build
|
||||
for pushes and pull requests to `develop`. Completion check: running
|
||||
`./gradlew test build` succeeds; CI provides the corresponding hosted check.
|
||||
- **Paper/WorldGuard/WorldEdit integration.** The plugin declares Paper API
|
||||
26.2, WorldGuard 7.0.19, and WorldEdit 7.4.5, and uses WorldGuard regions
|
||||
for city, home, and reservation geometry. Paper 26.2/26.3 are project
|
||||
targets; the current build and CI do not perform live server compatibility
|
||||
checks. Completion check for runtime claims: run the applicable manual
|
||||
scenarios in `human-tests.md` on a disposable server.
|
||||
- **Plot, home, and command features.** The implementation includes join-time
|
||||
initial home allocation, explicit additional-home acquisition, UUID-based
|
||||
active-home persistence with legacy name-key loading, user/permission plot
|
||||
overrides, reservations, multi-level support checks, and configured
|
||||
road/stair generation. Isolated tests cover parts of these rules; see
|
||||
`src/test/` and `human-tests.md` for their boundaries.
|
||||
|
||||
## Pending
|
||||
|
||||
- **Expand live-server integration coverage.** The current `integrationTest`
|
||||
suite only checks plugin visibility and persistence of one coordinate-based
|
||||
WorldGuard reservation. Add focused disposable-server checks for join-time
|
||||
home allocation/ownership and selected-home restart persistence. Completion
|
||||
criteria: tests assert the expected region/UUID state before and after a
|
||||
restart, clean up their own test regions, and remain excluded from `build`.
|
||||
- **Choose optional login allocation policies (MET-023/MET-024).** Current
|
||||
behavior allocates the configured initial home count (default one) when a
|
||||
player has no home; later homes require `/metropolis-home-acquire`. Decide
|
||||
whether to offer grant-all-to-limit or one-more-per-login policies before
|
||||
implementing them. Completion criteria: documented config semantics,
|
||||
compatibility defaults, and unit tests for limits, reconnects, and existing
|
||||
home selections.
|
||||
- **Choose an allocation traversal option (MET-025).** The proposal to select
|
||||
a rectangle/cuboid or ring-based traversal remains unimplemented. First
|
||||
document deterministic ordering and how each policy treats occupied regions,
|
||||
levels, and WorldBorder bounds. Completion criteria: configuration and
|
||||
focused allocation tests establish repeatable ordering without overlaps.
|
||||
- **Research conversion of existing worlds (MET-026).** There is no automatic
|
||||
world/config conversion workflow. Document the legacy data/config formats,
|
||||
backups and rollback requirements, and a safe migration strategy before
|
||||
proposing implementation. Completion criteria: a reviewed conversion
|
||||
specification plus disposable-world validation; do not claim migration
|
||||
support before that work is complete.
|
||||
|
||||
## Deferred Ideas
|
||||
|
||||
Economy-based home sales, arbitrary connected plot shapes, and alternate
|
||||
multi-plot footprints remain product ideas, not committed work. Reconsider them
|
||||
only after requirements, compatibility constraints, and acceptance criteria
|
||||
are defined.
|
||||
Reference in New Issue
Block a user