Sueta

BS-CustomJukebox Bedrock Extension

2.3.0

Bedrock Edition support for BS-CustomJukebox via Geyser/Floodgate. Bridges custom disc sounds and items to Bedrock players.

·Plugin
  1. 2.3.0latestBS-CustomJukebox Bedrock Extension 2.3.0last week

    v2.3.0

    Added
    - Bedrock pack straight from the Java resource pack. At every start the extension fetches the pack the server sends (resource-pack in server.properties), takes each disc's sound and texture from it and builds the Bedrock pack — no copying .ogg files, no /cjb-bedrock generate. Downloads are cached (sha1 / ETag); javaPack points elsewhere if the pack is sent another way. - Ambient zones on a category other than RECORDS follow the matching Bedrock volume slider.
    Fixed
    - New discs stayed silent on Bedrock until someone ran `/cjb-bedrock generate`. The pack is now rebuilt at startup, before Geyser reads it. - `/cjb-bedrock generate` overwrote the pack Geyser was serving, handing joining clients a file that no longer matched its checksum. Builds now go to a pending file that is put in place on the next start; the zip is written atomically. - Discs without a texture are no longer registered as Bedrock items with an empty icon; they show as their base disc. - Two legacy sound files with the same name in different folders are reported instead of silently picking one. - New config options are added to an existing config.json.
    4 downloads
  2. 2.2.0BS-CustomJukebox Bedrock Extension 2.2.0Aug 25, 2026

    v2.2.0

    Requires CustomJukebox 3.5.0+.
    Fixed
    - Geyser accepted the listeners but never called them — no custom items were registered and the pack was never handed over, silently. Registration went through eventBus().register(owner, listener), which scans for @Subscribe; Geyser and Floodgate both ship that annotation class unrelocated and in different versions, so the copy this plugin resolves need not be the one Geyser's scanner compares against. Subscriptions now name the event class explicitly (eventBus().subscribe(owner, Event.class, handler)), which takes annotation identity out of the picture. Measured on a server with both plugins installed: the annotation path subscribed nothing, the explicit one registers every disc and the pack. Verified live on Paper 26.1.2 with Geyser 2.11.2 and Floodgate — Geyser's custom item count rose by the number of discs, the pack was accepted without a warning, and Bedrock players connected through the pack download. The startup log reports how many subscriptions Geyser actually holds, and warns with a fallback instruction if the answer is zero. - A regenerated pack never reached anyone. The manifest always claimed version 1.0.0 with the same UUIDs, so Bedrock kept serving every client the copy it had cached the first time. The pack version now tracks a fingerprint of its content (discs, sound keys, sound and texture files) and counts up whenever that changes, recorded in bedrock-pack/pack-revision.json. Unchanged content keeps its version, so nobody re-downloads for nothing. - Bedrock playback volume followed the debug flag. Sounds played at full volume with debug: true and at the configured volume otherwise. The player's effective volume — personal volume included — is now used in both cases. - Custom items were registered in a way that could never match. The definition was keyed to a model identifier no disc item carries, and had no predicate to tell discs sharing a base item apart. Definitions are now keyed to the base item's own model and matched by an exact predicate on the disc id in custom_model_data. - Only the start of a jukebox playback was bridged. Ambient zones, radio, players walking into range and /cjb music on all delivered the Java sound key to Bedrock clients — silence. The bridge now hooks CustomJukebox's per-player delivery events, which cover every path. - Bedrock players were cut out of their own playback. They were removed from the listener set to suppress the Java sound, which also cost them progress bar, /cjb skip and stop handling. Delivery is now cancelled per sound instead, so they stay ordinary listeners. - `soundPrefix` and `autoDeliverPack` did nothing. Both were documented and neither was read. soundPrefix now names the Bedrock sounds in the pack and in playback alike; autoDeliverPack hands the generated .mcpack straight to Geyser. - Textures were counted by re-scanning the source folder instead of counting what was actually copied, so unreadable files still showed up in the summary. - ignoreCancelled was set on a non-cancellable event, the manifest javadoc claimed a format version the code doesn't write, and stack traces went to printStackTrace instead of the plugin logger.
    Added
    - Automatic pack delivery — with autoDeliverPack (default on) the generated pack is registered with Geyser at startup; copying it into packs/ by hand is no longer needed. /cjb-bedrock status shows whether Geyser took it. - Folia support (folia-supported: true). All scheduling goes through CustomJukebox's scheduler abstraction, so the extension now loads on the same servers the main plugin does.
    180 downloads
  3. 2.1.0BS-CustomJukebox Bedrock Extension 2.1.0Jul 4, 2026

    v2.1.0

    - Unified release: one jar now supports Paper 1.21.4 through 26.x (matches CustomJukebox 3.1.0) - Built against Paper API 1.21.4 with api-version: '1.21' and Java 21 bytecode — loads on 1.21.4+ servers (Java 21) and 26.x servers (Java 25) alike - Requires CustomJukebox 3.1.0+
    96 downloads
  4. 2.0.0BS-CustomJukebox Bedrock Extension 2.0.0May 6, 2026

    v2.0.0

    - Updated to Paper 26.1.2 (new versioning system) - Updated to Java 25 - Updated Geyser API to 2.10.0-SNAPSHOT - Updated Floodgate API to 2.2.5-SNAPSHOT - Updated Gradle to 9.5.0
    63 downloads
  5. 1.1.0BS-CustomJukebox Bedrock Extension 1.1.0May 4, 2026

    v1.1.0

    - Added bStats metrics integration - UpdateChecker now filters by game version and loader via Modrinth API — users only see updates compatible with their Minecraft version - Fixed thread-safety issue in UpdateChecker (volatile fields)
    37 downloads
  6. 1.0.0BS-CustomJukebox Bedrock Extension 1.0.0May 2, 2026

    v1.0.0 — Initial Release

    - Bedrock sound bridging via Geyser — custom disc sounds are played to Bedrock players - Bedrock resource pack generator (/cjb-bedrock generate) — creates .mcpack with manifest, sound definitions, and sound files - Custom item registration via Geyser Custom Items API v2 - Bedrock player detection via Floodgate API - Graceful no-op when Geyser or Floodgate is not installed - JSON-based configuration - Commands: /cjb-bedrock generate, reload, status, help - Modrinth update checker with join notifications
    22 downloads

Similar projects

Plugin →