Diamond DJ

Quick rating

Diamond DJ

No reviews yet

Server-wide synchronized music for your Minecraft server!

QoL & Tweaks
Mod Loaders
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
diamond-dj-1.6.1.jar
Authors

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.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

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.json and config/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 from config/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

Configure URLs in config/diamonddj/streaming_playlist.txt (one URL per line). Playlist URLs are automatically expanded into individual tracks.

How It Works locally

  1. Server admin places .ogg files in the songs folder or resource packs
  2. Run /dj start to begin playback
  3. Songs are automatically sent to connecting players
  4. 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

  1. Install the mod on the server and all clients
  2. 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)
  3. Read through config/diamond-dj-server.json and adjust settings to your liking
  4. Follow the Local Mode or Streaming Mode setup below

Server Setup (Local Mode)

  1. Install mod on server and all clients
  2. Add .ogg files to: config/diamonddj/songs/
  3. Or set musicSource to resourcepack or both and add resource packs to resourcepacks/
  4. Run /dj start in-game

Server Setup (Streaming Mode)

  1. Install mod on server and all clients
  2. Set "playbackMode": "streaming" in config/diamond-dj-server.json
  3. Add URLs to config/diamonddj/streaming_playlist.txt (one per line)
  4. Restart the server or run /dj reload
  5. Music streams automatically if autoStartEnabled is 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

This project has no gallery images yet.

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

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works