promotional bannermobile promotional banner

Cobblemon Diamond DJ

Server-wide synchronized music with Cobblemon battle music support

File Details

cobblemon-diamond-dj-1.3.0.jar

  • R
  • Feb 9, 2026
  • 32.52 MB
  • 2.4K
  • 1.21.1
  • Fabric

File Name

cobblemon-diamond-dj-1.3.0.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:cobblemon-diamond-dj-1455653:7597710"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

[1.3.0] - 2026-02-09

Added

  • Streaming mode: optional URL-based playback (YouTube, SoundCloud, Bandcamp, Vimeo, HTTP) via LavaPlayer with classloader isolation
  • Server config: playbackMode (local | streaming), streamingPlaylistFile, battleMusicDisabledInStreaming, YouTube auth fields (youtubePoToken, youtubeVisitorData, youtubeOAuthRefreshToken)
  • Stream commands (ops, streaming mode only): /dj play <url>, /dj queue <url>, /dj addplaylist <url>, /dj clearqueue
  • YouTube auth polish: apply auth when poToken or OAuth refresh token is set; on resolve failure with severity SUSPICIOUS, in-game and log hint to add youtubePoToken (link to youtube-source docs)
  • URL validation & domain whitelist: strict server-side and client-side URL validation (YouTube, SoundCloud, Bandcamp, Vimeo only); playlist file, /dj commands, network packets, and client handler all reject untrusted domains
  • Stream retry mechanism: client automatically retries failed streams up to 2 times (10s then 15s delay) before giving up; handles transient YouTube cipher failures on cold-start
  • HUD error state: failed streams now display "Stream unavailable" in the HUD instead of showing stale "Now Playing" info
  • Battle music: player death handling: AFTER_DEATH event clears battle override immediately; AFTER_RESPAWN event restores global playback for the new entity
  • Battle music: Pokemon capture handling: POKEMON_CAPTURED event ends battle music and restores global playback
  • Battle music: stale battle cleanup: BattleMusicManager.tick() periodically checks Cobblemon's BattleRegistry and removes orphaned battle sessions

Changed

  • /dj start in streaming mode starts from the stream queue when available
  • /dj reload in streaming mode reloads streaming_playlist.txt and resolves URLs into the stream queue
  • /dj list and /dj status show stream queue and playback mode when in streaming mode
  • /dj skip and /dj forceskip advance the stream queue when the current track is a stream
  • Now-playing packet includes sourceType (LOCAL/STREAM) and sourceUrl; server config sync includes playbackMode and battleMusicDisabledInStreaming
  • Default HUD preset changed to SUPER_MINIMAL (progress bar only, no chat messages)
  • Late-join streaming behavior: new players in streaming mode start the current track from 0:00 instead of mid-song; they sync with everyone on the next track advance
  • Network packet sourceUrl field capped to 2048 characters for hardening
  • Centralized YouTube authentication via AudioSources.configureYouTubeAuth()
  • Version bump to 1.3.0; startup and /dj status show v1.3