
Lattice
A Java 21 shared runtime and framework for structured Paper/Folia plugin development.
Оцените первым
69
1
Список изменений
Lattice 0.8.9 - Testability, Diagnostic Clarity, and Release Docs
Added
PaperDiagnosticContributorsnapshot detail keys are now documented in Javadoc:plugin,version,dataFolder,enabled,currentThread. Plugin authors reading the contributor class directly can see the snapshot shape without consulting the source.PaperIntegrationBootstrap.failureMessage(Throwable)andfailureDetails(Throwable)are nowstaticpackage-private so the formatting contract can be locked by a unit test without going through the reflective bridges.PaperDiagnosticContributor.detailsFor(Path, String, String, boolean)is now a package-private helper, parameter-validated, so the snapshot detail-map shape is unit-testable without instantiatingJavaPlugin(whose constructor is unsupported outside the Bukkit loader).PaperIntegrationBootstrapFailureLoggingTestlocks the failure-logging contract for the 7 reflective integration bootstrap paths.PaperDiagnosticContributorTestlocks thecurrentThreadsnapshot detail so it cannot accidentally drift to a hardcoded value.
Changed
PaperDiagnosticContributor.detailsFor(...)parameter order is now(Path dataFolder, String pluginName, String pluginVersion, boolean enabled). ThePathis first to visually break up two adjacentStringparameters of different meaning and remove a call-site transposition footgun. The sole caller (snapshot()) was updated to match. Observable output (the snapshot detail map keys and values) is unchanged.docs/api-guide.md#diagnosticsnow spells out the snapshot detail keys for thepapercontributor plus the integrationdetailsmap shape (reason/messagefor failures,apiClass/versionfor anAVAILABLEPacketEventsbinding).docs/build-and-release.mdclarifies that bothGitHub ReleaseandModrinth Releaseworkflows auto-trigger on push events matchingv*tag patterns. A normalgit push origin v<version>therefore publishes to Maven Central, the GitHub Packages mirror, GitHub Release, and Modrinth in parallel. Manualgh workflow run "Modrinth Release"is reserved for recovery; the workflow already performs its own idempotency check against the Modrinth API before publishing.PaperIntegrationBootstrapFailureLoggingTest.failureDetailsMapIsImmutablenow usesassertThrows(UnsupportedOperationException.class, ...)to actually verify theMap.ofimmutability claim (replaced a previouscontainsKeytautology).
Fixed
- A transposition footgun in
PaperDiagnosticContributor.detailsFor(...): the previous(String, String, Path, boolean)parameter list placed two strings of different meaning adjacent to each other. Reorder eliminates this hazard without changing observable behavior.
Compatibility
- No plugin authoring API changes.
- No stable
@StableApitypes were modified. - No new transitive dependencies.
- Tests are new additions only; no existing tests were changed or removed.
failureDetailsandfailureMessagewere previouslyprivate staticand remain@InternalApi; they are nowstaticpackage-private to satisfy the same internal-only contract.
Still Experimental (no change in status)
dev.beryl.lattice.updatedev.beryl.lattice.hookdev.beryl.lattice.templateand annotation processors
Файлы
lattice-paper-0.8.9-standalone.jar(19.58 MiB)
ОсновнойМетаданные
Канал релиза
Beta
Номер версии
0.8.9
Загрузчики
Paper
Версии игры
1.21.11
Загрузок
4
Дата публикации
02.07.2026
