# CDisc Music 1.5
Two things in this release will matter to you before anything else: **YouTube
plays again**, and **CDisc no longer disconnects players on Minecraft 26.x**.
Everything else is new features on top.
---
## YouTube playback fixed
YouTube tracks could fail to play at all, with the console filling up with
`Expected decoding to halt` and every client reported as failed.
CDisc was only ever asking YouTube clients that hand back a format LavaPlayer
cannot decode, while the ones that work were never asked. It now asks those
first, so tracks play immediately instead of failing.
As a safety net, a track that still can't be played is retried through the
fallback API rather than being written off. That needs
`sources-config.youtube.fallback-api: true`.
## Chat and action bar rebuilt on the server's own API
On Minecraft 26.x, **every message CDisc sent disconnected the player** —
action bars, hints, the update notice, the YouTube setup link. The library that
built those packets is no longer maintained and supports Minecraft only up to
1.21.11.
CDisc now hands the text to the server and lets it build the packet, so a
future protocol change can't break it the same way. Colours, hover text and
clickable links are unchanged — and on 26.x the "now playing" action bar works
for the first time.
---
## Portable jukeboxes
Pick up a jukebox **without stopping the music**. Open the player GUI and hit
**Take it with me** — the block goes into your inventory, note particles rise
above you, and the track keeps playing and follows you around. Put it back down
and the jukebox is restored exactly as it was, still playing, still queued.
Drop it, die with it, stash it in a chest or log off, and playback stops and the
jukebox becomes an ordinary item again — with every disc still inside it.
While you are carrying it, the music is sent **straight to you** rather than
played from a point in the world. Carrying a sound source on top of your own
ears is what made the audio break up as you ran; sending it directly removes
the problem instead of masking it. Anyone nearby keeps hearing the jukebox
positionally, from wherever you are standing, exactly as before.
Picking the jukebox up and setting it back down are **seamless** — the two
audio paths overlap across the swap, so there is no gap and no jump in volume
at the moment it changes hands.
Configurable under `portable-jukebox`: off switch, how many one player may
carry, particle rate.
## Jukeboxes now hold their discs
Breaking a loaded jukebox used to spit out every queued disc as a separate item
— up to 42 at once, in a single tick. The discs now ride **inside the jukebox
item**, so a break drops exactly one item however full the queue was, and
placing it back restores the queue. Easier on the server, and impossible to lose
half your discs down a hopper.
The same applies everywhere discs used to spill: ejecting one by hand, or an
explosion going off next to a jukebox, no longer empties the queue onto the
ground.
## New `/cdisc player` commands
Full playback control without the GUI, for the jukebox you're carrying or
simply looking at:
```
/cdisc player gui | queue
/cdisc player pause | play | next | previous
/cdisc player seek <MM:SS | +seconds | -seconds>
/cdisc player repeat [off | track | queue]
/cdisc player status | info
```
`repeat` with no argument cycles through the modes. `status` toggles the
progress boss bar. `/cdisc seek` is replaced by `/cdisc player seek`, which also
takes relative offsets.
## Reaching a jukebox that isn't playing
A jukebox holding discs but playing nothing was a dead end — there was no way to
get them back out. **Sneak + right-click with an empty hand** now opens its
queue, and clicking a disc there starts playing it.
## Faster disc creation
`/cdisc create` no longer waits on a playability check before saving the disc;
the source is picked on first play instead. Creation is several times quicker.
Revert with `sources-config.youtube.fast-create: false`.
## Update notifications
CDisc checks Modrinth on startup and tells you in console — and operators in
chat, with a clickable link — when a newer release is out. Only releases that
support the Minecraft version you're actually running are offered. Turn it off
with `update-checker.enabled: false`.
## Anonymous statistics
CDisc now reports to [bStats](https://bstats.org/plugin/bukkit/CDisc%20Music/32754):
server counts, versions, and which features get used. No player names, UUIDs,
IPs, track titles or search queries are ever sent. Opt out with `metrics: false`.
---
## Fixes
**Duplication**
- Ejecting a disc while sneaking dropped it on the floor while the queue kept a
copy, so it could be pulled straight back out.
- A carried jukebox whose queue ran out duplicated its last disc when placed
back down, and started replaying it.
- Stashing, dropping, dying with or logging off holding a carried jukebox could
leave you with a second copy of it and its discs.
**Portable jukeboxes**
- The audio of a carried jukebox broke up while running, and was worst in first
person. Carried audio no longer plays from a position in the world at all, so
there is nothing left to break up.
- Swapping between carried and placed left an audible gap in one direction and
a jump in volume in the other.
- A carried jukebox put back down read as empty: the music played but no GUI
would open.
- Moving a jukebox to a new spot stopped its queue advancing — the current track
played out and nothing followed.
- Stashing a carried jukebox in a chest left the music playing.
- The queue GUI wouldn't open for a carried jukebox at all.
**General**
- The progress boss bar switched itself off between tracks.
- An explosion next to a jukebox stopped the wrong one's playback.
- The YouTube setup link stopped being clickable on 1.21.5 and newer, after
Mojang reworked the chat component format.
- A failed track no longer buries the console in the same stack trace three
times over.
---
## Compatibility
Minecraft **1.20 through 26.x**
Direct audio for a carried jukebox needs **Plasmo Voice**. On Simple Voice
Chat a carried jukebox still plays and still follows you — it just stays
positional, as it did before.
Optional dependencies
Plasmo Voice
Any compatible version
Simple Voice Chat
Any compatible version
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }