COWMODSКаталог модов

BS-CustomJukebox Bedrock Extension

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

Автор: boondocksulfur5161обновлён 18 окт. 2026 г.
ДекорМеханики игрыУправление

Описание

BS-CustomJukebox Bedrock Extension

Companion plugin for BS-CustomJukebox that adds Bedrock Edition support via Geyser/Floodgate.

Features

  • Sound Bridging — Custom disc sounds are automatically played to Bedrock players when a disc is inserted into a jukebox
  • Resource Pack Generator — Generates a Bedrock-compatible .mcpack from your existing custom discs with a single command
  • Custom Item Registration — Registers custom disc items via Geyser so Bedrock players see unique disc textures
  • Zero impact on Java players — Java Edition playback is completely unchanged
  • Graceful degradation — Plugin runs without Geyser/Floodgate installed (logs a warning, no crash)

How it works

  1. Listens for disc playback events from BS-CustomJukebox
  2. Detects Bedrock players via Floodgate
  3. Intercepts the Java sound and plays the Bedrock-mapped equivalent instead
  4. Custom items are registered through Geyser's Custom Items API

Quick Setup

  1. Install BS-CustomJukebox, Geyser-Spigot, and Floodgate
  2. Drop this plugin into your plugins/ folder
  3. Place your .ogg sound files in plugins/CustomJukebox/sounds/ — the Pack Generator exports exactly this folder layout, so you can unzip it straight into plugins/
  4. Run /cjb-bedrock generate to create the Bedrock resource pack
  5. Copy the generated .mcpack to Geyser's packs/ folder
  6. Restart the server

Commands

CommandDescription
/cjb-bedrock generateGenerate Bedrock resource pack
/cjb-bedrock reloadReload configuration
/cjb-bedrock statusShow plugin status and dependency info
/cjb-bedrock helpShow help

Permission: customjukebox.bedrock.admin (default: OP)


🛠️ Preparing the sound files

Bedrock needs the same .ogg files as the Java pack, as loose files rather than inside it. The CustomJukebox Pack Generator builds both from the same tracks in your browser: a Java resource pack, the plugin's disc.json, and a "Download Bedrock files" zip laid out as CustomJukebox/sounds/ and CustomJukebox/textures/ — unzip it into plugins/ and run /cjb-bedrock generate.

It converts mp3, wav and flac to Ogg Vorbis locally, so nothing is uploaded anywhere, and it can match the loudness of all your tracks so one disc is not far louder than the next.


🔗 Links

Последние версии

Все версии →
release

BS-CustomJukebox Bedrock Extension 2.3.0

2.3.0
18 окт. 2026 г.99Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur, spigot
Скачать
Что нового
## 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`.
release

BS-CustomJukebox Bedrock Extension 2.2.0

2.2.0
25 авг. 2026 г.184Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur, spigot
Скачать
Что нового
## 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.
release

BS-CustomJukebox Bedrock Extension 2.1.0

2.1.0
4 июл. 2026 г.100Minecraft: 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur, spigot
Скачать
Что нового
## 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+
release

BS-CustomJukebox Bedrock Extension 2.0.0

2.0.0
6 мая 2026 г.67Minecraft: 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
## 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
release

BS-CustomJukebox Bedrock Extension 1.1.0

1.1.0
4 мая 2026 г.40Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
## 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)
release

BS-CustomJukebox Bedrock Extension 1.0.0

1.0.0
2 мая 2026 г.26Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
# 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