Configuration
Control title-screen music, automatic scheduling, contexts, fades, notifications and locally saved data.
Menu, ambient and contextual playback
Music Interface controls a custom playback scheduler. There are two complementary concepts:
- Music metadata:
genres,moods,tagsandenergydescribe songs and assist Radio/Smart Mixes. - Music contexts: explicit rules in
music_data.jsonormusic_contexts.jsontell 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
cooldownand 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:
- Install a compatible Cobblemon version for your Minecraft/loader, if one is available.
- In Music Interface settings, set Cobblemon Battle Music to Context (value
context). - Enable Context Music.
- Add tracks with a
"combat": truecontext rule and an appropriate priority. - To resume exploration music after battle, provide
"combat": falserules or other eligible fallback tracks. - 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 field | Default | Meaning |
|---|---|---|
customMusicEnabled | true | Master enable for Music Interface playback |
vanillaMusicEnabled | false | Let vanilla in-world music play |
allowMenuMusic | false | Let vanilla menu music play |
customMenuMusicEnabled | true | Enable custom title-screen music |
titleScreenTrackId | "" | Blank: library-based menu selection; filled: fixed track ID |
playbackMode | "ambient" | ambient or continuous |
customWeight | 75 | Custom/vanilla scheduling weighting when both are enabled; not the per-track weight |
strictExclusiveMusic | false | Avoid starting custom music while other music is already playing |
contextMusicEnabled | true | Enable context-aware autoplay |
contextTransitionMode | "finish" | finish or crossfade |
contextFallbackMode | "library" | library or dedicated |
cobblemonBattleMode | "external" | external or context |
delayMinSeconds / delayMaxSeconds | 15 / 90 | Ambient interval range in a world |
worldJoinSilenceSeconds | 10 | Initial world-entry silence |
crossfadeSeconds | 4 | Transition duration (UI range 0–10 seconds) |
persistQueue | true | Save pending manual queue across starts |
hideDisabledTracks | false | Hide disabled tracks from library display |
stopMusicOnDeath | false | Stop Music Interface playback when the player dies |
historySize | 10 | Recent tracks retained in history |
playerListMode | false | Grid when false; list when true |
playerHomeSortMode | "default" | Default order or alphabetical |
playerFavoritesSortMode | "recent" | Recent or alphabetical favorites |
toastEnabled | true | Display Now Playing toasts |
toastShowAuthor / toastShowAlbum | true / true | Include these metadata lines |
toastPosition | TOP_RIGHT | TOP_RIGHT or BOTTOM_RIGHT |
toastAnimation | SLIDE | SLIDE, FADE or NONE |
toastAnimInMs / toastAnimOutMs | 250 / 250 | Toast 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:
| File | Contents |
|---|---|
config.json | Playback, context, menu, queue, toast and UI options |
favorites.json | Favorite track IDs |
disabled_tracks.json | Manually disabled track IDs |
playlists.json | User playlists and their track IDs |
queue.json | Saved manual queue, when persistence is enabled |
music_profile.json | Local 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.