HomeJavaModsCozyRadio Mod
CozyRadio Mod
ModsJava

CozyRadio Mod

by RenderHam · on Modrinth

CozyRadio - Drop the Cozy Radio disc in a jukebox and every player nearby tunes into an endless, server-synced internet radio stream (MP3 relays +…

⬇ Download on Modrinth
CozyRadio Mod — screenshot 1CozyRadio Mod — screenshot 2CozyRadio Mod — screenshot 3

CozyRadio Mod

An endless, server-synchronized internet radio stream for Minecraft — drop the Cozy Radio disc in a jukebox and every player nearby (~65 blocks) tunes in together. Compatible with vanilla jukeboxes: insert/eject, redstone comparator output and music particles all work normally.

No bundled audio: the default playlist is curated MP3 relays (SomaFM, Radio Paradise), and every player can add their own YouTube live streams as personal stations.

Loader: Fabric — Game version: 1.21.11 — Type: Client + Server (install on both, or in singleplayer)


Features


Installation

  1. Install Fabric Loader 0.19.3+ and Fabric API for 1.21.11 (Java 21+).
  2. Drop cozyradio-mod-*.jar into the mods/ folder of both your server and your client (singleplayer only needs the one instance).
  3. On first server start, the mod writes its config to config/cozyradio-mod/playlist.json — edit the station list or the rotation interval and restart to apply.

Usage

  1. Craft the Cozy Radio disc (jukebox + diamond in a crafting table).
  2. Place a jukebox, insert the disc.
  3. Use the commands below to control the radio.

Commands

Command Description
/cozyradio status Jukeboxes playing, rotation interval, current station, your personal-station count
/cozyradio list All stations (yours are marked ★); marks the one you're hearing
/cozyradio next Skip to the next station (per player)
/cozyradio prev Go back to the previous station (per player)
/cozyradio station <name> Jump to a station by name (tab-complete: your stations)
/cozyradio add <url> [label] Register a YouTube live stream as your station (max 5; label must be a single word)
/cozyradio remove <name> Remove one of your personal stations by name
/cozyradio rotation on|off Cycle the rotation through your personal stations (no-arg shows state)
/cozyradio debug Op-only: jukebox positions, listener streams

Personal stations (YouTube)

/cozyradio add "https://www.youtube.com/watch?v=X4VbdwhkE10" "MyLofi"
→ Added "MyLofi" to your stations — /cozyradio station MyLofi
/cozyradio list                # shared stations first, yours after with ★
/cozyradio station MyLofi      # select by name, case-insensitive

YouTube authorization (one-time)

YouTube bot-checks anonymous requests on some networks, so each player's client authorizes YouTube access once through YouTube's official device flow. When a YouTube station needs it, a message appears in the in-game chat (link is clickable):

Cozy Radio: YouTube authorization required — open <url> and enter code <code>

Click the link or open it in any browser on any device, sign in with any Google account, enter the code and allow access. The client polls automatically, saves the refresh token to config/cozyradio-mod/youtube-oauth.json, and starts playing — no restart needed. While the authorization is pending, YouTube stations stay silent (MP3 stations keep playing); once you complete the code, the waiting stream resumes on its own. This happens once per client — the server never needs a token.

About YouTube live streams: live IDs die whenever a 24/7 broadcast restarts (the famous Lofi Girl ID died in 2026). That's why no YouTube station ships in the default playlist — players add current ones with /cozyradio add. A stale station is fixed by removing it and adding the current URL.


Configuration

config/cozyradio-mod/playlist.json (written on first start):

{
  "rotationMinutes": 5,
  "stations": [
    { "id": "groove-salad", "name": "Groove Salad — SomaFM", "url": "https://ice1.somafm.com/groovesalad-128-mp3", "type": "mp3" },
    { "id": "lush", "name": "Lush — SomaFM", "url": "https://ice1.somafm.com/lush-128-mp3", "type": "mp3" },
    { "id": "radio-paradise", "name": "Radio Paradise", "url": "https://stream.radioparadise.com/mp3-192", "type": "mp3" }
  ]
}

The defaults are only written when the file doesn't exist yet — delete it to regenerate.

Troubleshooting


License & credits

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more