Diamond DJ
No reviews yet
Server-wide synchronized music for your Minecraft server!
Includes quality of life improvements and small tweaks to enhance and customize gameplay.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
Diamond DJ is a Fabric mod that broadcasts OGG music files to all connected players. Everyone hears the same song at the same time, creating a shared radio experience for your server. Supports both local OGG files and streaming from YouTube, SoundCloud, Bandcamp, Vimeo, and direct HTTP URLs.
Updating from a previous version? Delete your old config files (
config/diamond-dj-server.jsonandconfig/diamond-dj-hud.json) and let the mod regenerate them with the latest defaults. New fields are added each update and stale configs can cause unexpected behavior.
First time? After installing, take a moment to read through
config/diamond-dj-server.json-- every option is there and the defaults are sensible, but there's a lot you can customize (battle music, streaming, vote skip, auto-start, and more).
Features
- Synchronized Playback - All players hear the exact same position in the song
- Streaming Mode - Stream audio from YouTube, SoundCloud, Bandcamp, Vimeo, and HTTP URLs
- Local Mode - Play OGG files from the server with auto-download and playing
- Independent volume controls - Diamond DJ uses the Jukebox / Records volume slider, so players can turn down server DJ music while still keeping vanilla Minecraft music at their preferred volume
- Auto-Download - Clients automatically download and plays songs from the server
- Vote Skip - Players can vote to skip songs
- Customizable HUD - Minimal, verbose, or custom widget layouts
- Resource Pack Support - Load music from server resource packs (zips or folders)
- Battle Music - Vanilla combat triggers battle tracks with crossfade. Server config can disable battle music.
- Dual-Source Battle Audio - In streaming mode, battle music plays on a separate audio source while the global stream runs silently; when battle ends, the stream fades back in instantly
- Optional External Services - Can work entirely offline with local OGG files
- Cross-Dimension Bleed - Optional otherworldly low-pass for distant fights
- Auto-Start Playback - Optional auto-start after server load
Playback Modes
local- Plays OGG files fromconfig/diamonddj/songs/streaming- Streams audio from URLs via LavaPlayer (YouTube, SoundCloud, Bandcamp, Vimeo, HTTP)
Music Sources (Local Mode)
Diamond DJ supports three modes for loading music locally:
- local - Reads OGG files from
config/diamonddj/songs/(default) - resourcepack - Reads OGG files from server resource packs
- both - Reads from both; local files take priority on name conflicts
Third-party music resource packs work out of the box - the scanner finds all OGG files regardless of namespace or folder structure. Just drop a zip into resourcepacks/ and set musicSource to resourcepack or both.
Streaming Sources
- YouTube -
https://youtube.com/watch?v=VIDEO_IDorhttps://youtube.com/playlist?list=PLAYLIST_ID - SoundCloud -
https://soundcloud.com/artist/track - Bandcamp -
https://artist.bandcamp.com/track/song - Vimeo -
https://vimeo.com/VIDEO_ID
Configure URLs in config/diamonddj/streaming_playlist.txt (one URL per line). Playlist URLs are automatically expanded into individual tracks.
How It Works locally
- Server admin places
.oggfiles in the songs folder or resource packs - Run
/dj startto begin playback - Songs are automatically sent to connecting players
- Players can vote to skip with
/dj skip
Commands
All Players:
/dj skip- Vote to skip current song/dj nowplaying- Show current song info
Operators:
/dj start- Start playback/dj stop- Stop playback/dj forceskip- Skip without voting/dj reload- Reload song library and config/dj list- List all songs/dj status- Server status/dj clearcache- Clear all client caches/dj clearcacheplayer <player>- Clear one client's cache
Streaming (Operators):
/dj play <url>- Play a URL immediately (single track plays once, playlists loop)/dj queue <url>- Queue a URL to play next/dj addplaylist <url>- Add all tracks from a playlist URL to the end of the queue/dj clearqueue- Clear the streaming queue
First-Time Setup
- Install the mod on the server and all clients
- Start the server once, then stop it. This generates all config files and folders automatically (
config/diamond-dj-server.json,config/diamonddj/songs/,config/diamonddj/battle_songs/,config/diamonddj/streaming_playlist.txt) - Read through
config/diamond-dj-server.jsonand adjust settings to your liking - Follow the Local Mode or Streaming Mode setup below
Server Setup (Local Mode)
- Install mod on server and all clients
- Add
.oggfiles to:config/diamonddj/songs/ - Or set
musicSourcetoresourcepackorbothand add resource packs toresourcepacks/ - Run
/dj startin-game
Server Setup (Streaming Mode)
- Install mod on server and all clients
- Set
"playbackMode": "streaming"inconfig/diamond-dj-server.json - Add URLs to
config/diamonddj/streaming_playlist.txt(one per line) - Restart the server or run
/dj reload - Music streams automatically if
autoStartEnabledis true, or run/dj start
Server Configuration
Edit config/diamond-dj-server.json:
{
"voteEnabled": true,
"voteThresholdPercent": 50,
"voteTimeoutSeconds": 30,
"clearCacheOnDisconnect": true,
"autoStartEnabled": true,
"battleMusicEnabled": true,
"enableBattleMusicInStreaming": false,
"battleSongFolder": "battle_songs",
"battleRadiusBlocks": 32,
"combatTimeoutSeconds": 12,
"combatCooldownSeconds": 2,
"crossDimensionBleedEnabled": true,
"crossDimensionLowPassStrength": 0.7,
"localMusicSource": "local",
"playbackMode": "local",
"streamingPlaylistFile": "streaming_playlist.txt",
"youtubePoToken": "",
"youtubeVisitorData": "",
"youtubeOAuthRefreshToken": ""
}
Client HUD
Edit config/diamond-dj-hud.json:
{
"enabled": true,
"preset": "SUPER_MINIMAL",
"anchor": "TOP_LEFT",
"scale": 1.0
}
Presets: SUPER_MINIMAL (default -- progress bar only, no chat messages), MINIMAL, VERBOSE, NONE, CUSTOM
Requirements
- Minecraft 1.21.1
- Fabric Loader 0.18.4+
- Fabric API
- Fabric Language Kotlin
Audio Format
- Format: OGG Vorbis only
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources