♫ Music Interface v2.0 Wiki
Playback and preferences

Configuration

Control title-screen music, automatic scheduling, contexts, fades, notifications and locally saved data.

Music Interface controls a custom playback scheduler. There are two complementary concepts:

  • Music metadata: genres, moods, tags and energy describe songs and assist Radio/Smart Mixes.
  • Music contexts: explicit rules in music_data.json or music_contexts.json tell the scheduler when a track is eligible. Supported conditions are dimension, biome, biome tag, day/night, weather and Cobblemon combat active/inactive.

For actual JSON and fully working examples, see the Music Pack guide, or the French Music Pack guide.

Title screen

The customMenuMusicEnabled option enables Music Interface music on the title screen (enabled by default).

  • If Title-screen track ID is empty, eligible library songs can be selected automatically for the menu. Empty does not mean disabled.
  • If the ID contains an existing track ID, that track is reserved for custom title-screen autoplay and is excluded from world autoplay.
  • To stop custom title-screen music, switch Custom menu music off.
  • Allow vanilla menu music is separate and controls Minecraft's original menu soundtrack.
  • Title-screen autoplay uses the menu selection path; in-world context filters are not applied on the title screen.

Ambient versus Continuous

  • Ambient (default): the scheduler can leave a configurable gap between songs in a world.
  • Continuous: no intentional between-track delay.
  • World join silence: waits after entering a world before scheduled music starts; default is 10 seconds.

Context selection

  • A context rule matches when all its specified condition groups match. For a group accepting multiple values, any listed value may match.
  • More than one rule can be attached to a track. A matching rule makes the track eligible.
  • The scheduler selects from the highest matching numerical priority. Greater specificity alone does not raise priority.
  • If nothing matches, Library fallback (default) considers the normal available library, while Dedicated fallback restricts fallback to tracks marked context_fallback: true.
  • Finish (default) waits for the current track to finish after a context change. Crossfade can transition a track that the context scheduler started, when a different track is preferred.
  • A manually chosen track, queue item, playlist or Radio source does not become a forced battle cue just because a rule exists.
  • Track cooldown and disabled/failed tracks also affect automatic selection.

Cobblemon battles

Cobblemon integration is optional. The Cobblemon Battle Music setting defaults to External so Music Interface yields control while a recognized battle is active.

To let Music Interface select battle music:

  1. Install a compatible Cobblemon version for your Minecraft/loader, if one is available.
  2. In Music Interface settings, set Cobblemon Battle Music to Context (value context).
  3. Enable Context Music.
  4. Add tracks with a "combat": true context rule and an appropriate priority.
  5. To resume exploration music after battle, provide "combat": false rules or other eligible fallback tracks.
  6. If you want contextual music to switch during an already-playing contextual song, choose Crossfade instead of Finish.

A tag named battle alone does not create a battle event. Music Interface also supports an optional CobbleSafari music-coordination bridge; neither Cobblemon nor CobbleSafari is required for ordinary playback.

Settings explained

The in-game Cloth Config screen groups settings into Playback, Timing, Context, Library and Toast. Defaults below come from the 1.21.1 source configuration, not necessarily from an older user config file.

Setting / JSON fieldDefaultMeaning
customMusicEnabledtrueMaster enable for Music Interface playback
vanillaMusicEnabledfalseLet vanilla in-world music play
allowMenuMusicfalseLet vanilla menu music play
customMenuMusicEnabledtrueEnable custom title-screen music
titleScreenTrackId""Blank: library-based menu selection; filled: fixed track ID
playbackMode"ambient"ambient or continuous
customWeight75Custom/vanilla scheduling weighting when both are enabled; not the per-track weight
strictExclusiveMusicfalseAvoid starting custom music while other music is already playing
contextMusicEnabledtrueEnable context-aware autoplay
contextTransitionMode"finish"finish or crossfade
contextFallbackMode"library"library or dedicated
cobblemonBattleMode"external"external or context
delayMinSeconds / delayMaxSeconds15 / 90Ambient interval range in a world
worldJoinSilenceSeconds10Initial world-entry silence
crossfadeSeconds4Transition duration (UI range 0–10 seconds)
persistQueuetrueSave pending manual queue across starts
hideDisabledTracksfalseHide disabled tracks from library display
stopMusicOnDeathfalseStop Music Interface playback when the player dies
historySize10Recent tracks retained in history
playerListModefalseGrid when false; list when true
playerHomeSortMode"default"Default order or alphabetical
playerFavoritesSortMode"recent"Recent or alphabetical favorites
toastEnabledtrueDisplay Now Playing toasts
toastShowAuthor / toastShowAlbumtrue / trueInclude these metadata lines
toastPositionTOP_RIGHTTOP_RIGHT or BOTTOM_RIGHT
toastAnimationSLIDESLIDE, FADE or NONE
toastAnimInMs / toastAnimOutMs250 / 250Toast entrance and exit durations

Two different weights: a track's weight affects selection relative to other tracks. customWeight changes the balance between Music Interface and Minecraft's vanilla music.

Files and privacy

The following files live under the current Minecraft instance's config/musicinterface/ folder:

FileContents
config.jsonPlayback, context, menu, queue, toast and UI options
favorites.jsonFavorite track IDs
disabled_tracks.jsonManually disabled track IDs
playlists.jsonUser playlists and their track IDs
queue.jsonSaved manual queue, when persistence is enabled
music_profile.jsonLocal listening counts, times and preferences

Recent listening History is a separate in-memory list, not a long-term disk log. Back up your config directory before reinstalling, migrating instances or resetting statistics. The profile remains local; its code does not upload usage telemetry.