
CDisc Music
Turn any track (YouTube, Spotify, SoundCloud, VK, Yandex…) into a real music disc — played from a jukebox through proximity voice chat, with an in-game player GUI and disc queues. Works with Simple Voice Chat or Plasmo Voice.
Список изменений
CDisc Music 1.6
One track, many jukeboxes. Speaker groups wire several jukeboxes together so they play the same disc from their own positions, in sync, each with its own channel and its own volume — a left speaker and a right speaker across a room, or a whole club covered by one queue.
The second headline is /cdisc create-playlist: write an entire playlist to
a stack of blank discs in one pass instead of one disc at a time.
Speaker groups
Open the player GUI on a jukebox and hit Speaker group. Name the group in chat, then pick free jukeboxes nearby out of a list — the picker shows every unpaired jukebox within range of the main, with its distance.
The jukebox you started from becomes the main: it holds the discs, the queue and the player, and it is the only one that decodes the track. The rest are speakers — they emit that same audio from where they stand. Two jukeboxes playing the same disc separately drift apart within seconds; a group does not, because there is only ever one decode.
Speakers are locked. No discs go in, no queue, no player GUI, no ejecting — everything goes through the main. Dropping a vanilla record into a speaker is refused rather than silently playing over the group.
Ownership. Only the player who created the group may change its jukeboxes,
add or remove speakers, or break them. Operators always may, so a group whose
owner never comes back doesn't become permanently unbreakable. Turn the whole
protection off with speaker-group.protect-members: false.
Breaking a speaker removes it from the group. Breaking the main dissolves the group entirely and every jukebox becomes ordinary again.
A jukebox belongs to one group at a time. Try to pair one that is already taken and the refusal tells you which group is holding it, so two people building nearby can't quietly fight over the same block.
A paired jukebox cannot be carried — not even by the owner. Take it with you and the group would be pointing at a block that isn't there; the button says so instead.
Limits, all in config.yml under speaker-group:
| Setting | Default | What it does |
|---|---|---|
enabled | true | Off switch for the whole feature |
max-distance | 64 | How far a speaker may sit from the main, same world only |
max-per-group | 8 | Members including the main |
protect-members | true | Owner-only changes and breaking |
The distance limit isn't arbitrary: a speaker emits from an entity in its own chunk, so one across the world would only play while somebody stood there keeping that chunk loaded — a speaker that works sometimes. Raise it for a very large build, not for a relay network.
Commands, if you'd rather not use the GUI:
/cdisc pair gui
/cdisc pair create <name>
/cdisc pair add <name> | remove | unlink | dissolve
/cdisc pair tag <name>
/cdisc pair channel <stereo | mono | left | right>
/cdisc pair volume <0-100>
/cdisc pair info | list
Settings for each speaker
Click any member in the group screen to open its own settings:
- Name — give the speaker a tag ("Left", "Bar", "Upstairs", up to 24 characters) and it's labelled that way everywhere it appears.
- Channel — stereo, mono, left or right. Left and right are a genuine split of the source: the left speaker plays the track's left channel and nothing else, the right one the right. Put them either side of a room and the stereo image spreads across it.
- Volume — 0 to 100 in steps of 10. 0 is a full mute: the speaker keeps its place in the group and comes straight back when you turn it up.
- Particles — the note particles above that jukebox, on or off.
- Make this the main — promotes a speaker; playback stops for the swap.
- Unlink — that one jukebox leaves the group and goes back to normal.
Everything is stored on the jukebox itself and survives restarts.
Everything stays in sync
Three jukeboxes standing near each other used to drift apart badly — the overlap made the music louder and smeared it. Each audio source runs its own sender, and a one-second buffer let a source that fell behind stay behind forever.
Group members now run on a 60 ms buffer instead, which is short enough that nothing can lag behind audibly, and it's applied live — pair a jukebox in the middle of a track and it drops into step without a restart.
Playlists, one command
/cdisc create-playlist <playlist URL>
CDisc reads the playlist and opens a screen with one slot per track, paginated if it's a long one. Fill the slots with blank music discs, close the screen, and every one of them is written at once — the action bar counts the discs as they're stamped.
Fewer discs than tracks is fine: you're told how many tracks had no disc, so you can top up and run it again. Discs that won't fit in your inventory drop at your feet rather than vanishing.
/cdisc create with a playlist link used to write only the first track and
silently discard the rest. It now writes that first track and warns you how
many more the playlist held, pointing at create-playlist.
Encoding moved to the voice server
Technical, but it's what the rest of this release stands on. CDisc used to have LavaPlayer produce one already-encoded stereo stream and hand the same bytes to everybody, so the channel count was fixed for every listener at once. It now hands raw audio to Plasmo Voice and lets each source encode its own, which is what makes per-speaker mono, left and right possible at all.
Smaller things
- Speaker groups are reachable from the player GUI, not only through the disc queue.
- Every button in the player GUI has its own icon — no two share a texture any more. Speaker group is a jukebox, Take it with me a note block, Channels a brewing stand, Track messages a bell.
- New: Track messages (the bell). The "now playing" line on the action bar
is now per player — turn it off if you don't want it and everyone else
keeps theirs. Also
/cdisc messages [on|off]. - Setting confirmations go to the action bar instead of the chat, so stepping the volume up doesn't fill your chat log.
- A way back — the group screen has a back button to the player.
- Dropped the per-track "loaded successfully" line from the console.
Fixes
- Carrying a jukebox with a full queue disconnected you. A jukebox holds its discs as a blob of data, and placing one down copied that blob onto the block and left it there. Pick it up again with a couple of dozen discs inside and CDisc tried to write more than 64 KB into a field that cannot hold it, which drops the connection. The leftover copy is now cleared when the jukebox is placed — it was also a latent way to duplicate discs — and an oversized snapshot is refused with a console warning instead of a kick.
- Speaker tags were stored but never actually displayed; members read "Speaker" whatever you had named them.
- The group screen had no way back to the player.
Compatibility
Minecraft 1.20 through 26.x, on Spigot and Paper.
Speaker groups themselves work on both voice backends. Per-speaker channel and volume, and the tightened sync, need Plasmo Voice — on Simple Voice Chat a group plays from every member, but the settings have nothing to act on.
