Skip to content

Modernize MusicBox for Paper 26.3 and Java 25 - #1

Draft
ParadauxIO wants to merge 5 commits into
masterfrom
feature/paper-26.3-modernization
Draft

ParadauxIO wants to merge 5 commits into
masterfrom
feature/paper-26.3-modernization

Conversation

@ParadauxIO

@ParadauxIO ParadauxIO commented Oct 21, 2026 •

Copy link
Copy Markdown

Why?

MusicBox's version-specific NMS and XSeries initialization prevent it from running on current Paper. This fork targets Paper 26.3+ and Java 25 while keeping existing songs, discs, signs, and player playlists.

How?

  • Replace old Minecraft-version modules, XSeries, and NBTEditor with Paper block, inventory, and persistent-data APIs. Use native paper-plugin.yml and Cloud commands under com.minecraftcitiesnetwork.musicbox.
  • Keep the MusicBox plugin/data-folder identity, musicbox:song_hash, path-derived song/folder IDs, config keys, sign formats, and SQLite schema. Retain unresolved playlist and sign references instead of deleting them during recovery.
  • Retain upstream attribution and history; exclude bundled example music from the plugin artifact. Upstream has no declared repository-wide license, and this change makes no new license assertion about upstream code.
  • Use Cloud 2.0.1 for Paper 26.3 Identifier and item-stack method compatibility. Add an optional native Paper bootstrap regression task alongside Java 25 CI and the general data-format reference.

Validation: a clean build using Java 25 and Paper API 26.3.build.206-stable passed all 23 regular tests, plus 3 native Paper bootstrap checks, with zero failures or skips. The bootstrap checks exercise real Minecraft registries, the item parser, native PaperCommandManager construction, and all 17 MusicBox command forms without starting a server. A Cloud beta.10 negative control fails these checks; Cloud 2.0.1 passes. Coverage includes Cloud dispatch/permissions, synthetic NBS decoding and path hashes, SQLite retention and sparse ordering, raw/PDC disc tags, lifecycle guards, sign recovery, economy availability, and jukebox item conservation. Artifact inspection verified Java 25 bytecode, native metadata, shaded Cloud, and no bundled example songs or old compatibility libraries. Native Paper 26.3 enable, console help, and reload smoke checks pass, including song reload and GUI initialization without errors. Direct live song count and audible playback have not been verified. Authenticated GUI, discs, signs, redstone, jukebox/chest, and economy checks remain pending. This PR remains draft and must not be merged as part of deployment verification.

Diagram

Diagram

The native Paper entry points share existing playback and persistence contracts.

MusicBox native Paper flow

Screenshots

In-game GUI/playback captures are pending authenticated client verification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant