CustomJukebox
CustomJukebox is a fully-featured Minecraft Paper plugin for 1.21+ that adds advanced jukebox functionality, fully implemented in Java. It lets you create and manage custom music discs, fragments, and a jukebox GUI without replacing any vanilla discs.
β¨ Features
π΅ Custom Music Discs
- Create custom music discs without overriding vanilla discs
- Use custom sounds via resource packs (
.ogg format)
- Fully customizable metadata: title, author, lore, CustomModelData
- Duration tracking: discs automatically stop after their configured play time
- JSON-based configuration via
disc.json for easy management
π§© Fragment System
- Disc fragments: collect fragments to craft complete discs
- Creeper drops:
- Skeleton kills Creeper β fragment drop
- Player kills Creeper β configurable chance (e.g. 5%)
- Loot integration:
- Fragments can appear in dungeons, bastions, end cities, and more
- Shapeless crafting:
- 9 fragments = 1 complete disc (fully configurable)
π¨ GUI & Interaction
- Jukebox GUI:
- Right-click an empty jukebox to open a disc selection GUI (if enabled)
- Admin GUI:
/cjb gui for admin access to all discs
- Simple interaction:
- Hold a disc in your hand and right-click a jukebox to start playback
π¦ Parrot Dance System
- Parrots dance in sync with custom music
- Configurable radius (default: 3 blocks)
π Plugin Integrations
- WorldGuard:
- Region-based jukebox usage depending on
USE flag
- GriefPrevention:
- Claim-based jukebox permissions (requires container trust)
- Full, working integrations β not just placeholders
π¦ Requirements
- Server: Paper 1.21+ (or compatible Paper/Spigot fork)
- Java: 21+
- Optional Plugins:
- [WorldGuard] β region-based jukebox permissions
- [GriefPrevention] β claim-based jukebox permissions
π Installation
- Download the latest
CustomJukebox-x.x.x.jar.
- Place the JAR into your serverβs
plugins/ folder.
- Start the server. The plugin will generate:
config.json
disc.json
languages/ folder
- Configure
config.json and disc.json to fit your needs.
- Set up and host your resource pack (see below).
- Run
/cjb reload or restart the server to apply changes.
βοΈ Configuration
All main settings are handled in config.json. Example:
```json
{
"settings": {
"enabled": true,
"language": "en",
"enable-gui": true,
"debug": false
},
"discs": {
"creeper-drops": true,
"creeper-drop-chance": 0.05,
"dungeon-loot": true,
"trail-ruins-loot": true,
"max-loot-discs": 2,
"loot-chance": 0.15,
"enable-crafting": true,
"fragments-per-disc": 9
},
"parrots": {
"enable-dancing": true,
"dance-radius": 3
},
"integrations": {
"worldguard": true,
"griefprevention": true
}
}