Play Note Block Studio songs through signs, redstone, or a personal music browser.
Organize large song libraries into folders and control playback without leaving the game.
Custom Jukebox indexes .nbs songs only when needed and presents them through an inventory-based browser. Players can listen privately, while administrators can turn signs into world jukeboxes controlled by interaction or redstone. Folder navigation keeps even large song collections manageable.
- Folder-aware song browser: Subdirectories become navigable folders in the in-game GUI
- Personal playback: Play or stop a song without creating a world jukebox
- Jukebox signs: Store the selected song, volume, looping, and redstone mode directly on a sign
- Three redstone modes: Toggle, pulse, or ignore external redstone power
- Registered-sign index: List configured signs and their locations with an admin command
- Lazy song loading: Scan metadata without keeping every complete song in memory
- Action-bar status: Show the active personal song while it is playing
- Live reload: Rescan the song library without restarting the server
- Server Software: Paper
- Minecraft Version: 26.2
- Java Requirement: Java 25+
- Required Plugin: NoteBlockAPI 1.7.0
- Core Features
- Supported Platforms
- Getting Started
- Third-Party Plugins
- Configuration
- How It Works
- Commands
- Permissions
- Building from Source
- License
- Screenshots
- A Paper 26.2 server
- Java 25 or newer
- NoteBlockAPI 1.7.0
- Download the latest Custom Jukebox jar from Releases
- Download
NoteBlockAPI-1.7.0.jarfrom the official NoteBlockAPI release page - Stop the server and copy both jars into its
plugins/directory - Start the server once, then add
.nbsfiles underplugins/CustomJukebox/songs/ - Use
/jukebox playto browse the library or create a[jukebox]sign
Song subfolders are shown as folders in the browser, so the directory structure can be used to group albums, areas, or event music.
- Run
/pluginsand confirm that bothNoteBlockAPIandCustomJukeboxare green - Run
/jukebox playand confirm that the song browser opens - Run
/jukebox reloadafter adding a test.nbsfile and confirm that it appears
NoteBlockAPI reads and plays Note Block Studio files. It is a required server plugin and is not included in the Custom Jukebox release artifact. Version 1.7.0 or a compatible newer release must be installed separately.
NoteBlockAPI is maintained by its own contributors and distributed under the GNU Lesser General Public License v3.0. Questions about song parsing or sound playback should first be checked against its project documentation.
The generated config.yml controls playback volume and source limits.
| Setting | Description | Default |
|---|---|---|
volume.min |
Lowest value accepted by signs and the GUI | 0 |
volume.max |
Highest value accepted by signs and the GUI | 10 |
volume.default |
Initial volume for a new jukebox sign | 3 |
personal-default-volume |
Initial personal playback volume | 3 |
max-active-sources |
Combined limit for sign and personal playback sources | 20 |
log-invalid-songs |
Log malformed or unreadable .nbs files during scans |
true |
Values above 1 use Minecraft's extended audible radius behavior. A volume of 0 is silent.
Songs are stored below plugins/CustomJukebox/songs/. The plugin indexes the library and opens folders as inventory screens. /jukebox reload refreshes the index after files are added, replaced, or removed.
Write [jukebox] on the first line of a sign. The configuration screen opens after the sign editor closes, allowing the creator to select a song, volume, looping option, and redstone mode. Right-clicking a configured sign opens its controls; sneak-right-click uses normal sign editing.
The sign stores its own configuration using Paper's persistent data container. signs.yml maintains a separate location index used by /jukebox list-signs.
| Mode | Behavior |
|---|---|
Toggle |
Plays while the sign is powered and stops when power is removed |
Pulse |
Starts playback on a rising redstone edge |
Ignore |
Ignores redstone and responds only through the GUI |
| Command | Description |
|---|---|
/jukebox play |
Open the personal song browser and playback controls |
/jukebox play <path or title> |
Start a song directly |
/jukebox stop |
Stop personal playback |
/jukebox reload |
Rescan the song library |
/jukebox list-signs |
List registered jukebox signs and their locations |
| Permission | Description | Default |
|---|---|---|
customjukebox.play |
Use personal playback | true |
customjukebox.sign.place |
Create and configure jukebox signs | op |
customjukebox.admin |
Reload songs and list registered signs | op |
Requirements: Java 25 and Maven 3.9+
git clone https://github.com/Cobbleworks/Custom-Jukebox-Plugin.git
cd Custom-Jukebox-Plugin
mvn clean verifyThe plugin jar is written to target/custom-jukebox-x.x.x.jar. NoteBlockAPI is resolved from CodeMC for compilation and remains a separate runtime plugin.
This project is licensed under the MIT License. See LICENSE for details.






