Dynamic Music Reneoforged
Background music that follows what you're actually doing. Deep in a cave at night, a storm rolling in over a frozen peak, sinking into the ocean, stepping into the Nether — the soundtrack shifts to match, using Minecraft's own music, and without fighting the other mods in your pack.
Where it comes from
Dynamic Music Reneoforged is a NeoForge 1.21.1 continuation of LudoCrypt's original Dynamic Music, by way of celeri's Dynamic Music Updated (1.20.x). It keeps the original's ideas — context-driven pools and the signature time-of-day pitch drift — and rebuilds them on NeoForge's SelectMusicEvent so the mod slots in alongside everything else instead of taking over the music system. It is licensed LGPL-3.0-only, the same as the mods it continues.
It ships no audio of its own — it re-pools the music already in your game.
How it works
The mod reads your surroundings every moment — dimension, cave depth, time of day, weather, temperature, whether you're underwater — and picks from the pool of tracks that fits. More specific situations win over general ones, and ties are broken by a weighted random pick, so the same context doesn't always play the same song.
- Cave depth tiers — shallow, mid, and deep caves each have their own pool; the deep pool gets the heavy, oppressive tracks.
- Hot / cold biomes — deserts and frozen biomes pull climate-appropriate music.
- Weather — rain and thunderstorms get their own moodier pools.
- Underwater — being genuinely submerged for a while switches to the aquatic pool; a quick dip doesn't.
- Day / night, creative, Nether, End — each has a dedicated pool.
- Dynamic pitch — the original's signature effect: tracks can drift downward in pitch the further the time is from a configured anchor, for a heavier late-night feel.
Works with modded dimensions automatically
Custom dimensions are first-class. A dimension that has no music of its own automatically borrows a fitting pool — nether-like dimensions borrow the Nether pool, end-like ones the End pool, and everything else the Overworld pool, with cave depth, time, and weather still applied so it never feels generic. A dimension that brings its own music — whether that's another mod's tracks or vanilla music it reuses — is left completely alone unless you say otherwise.
You stay in control through config/dynmus/music.json:
- Blacklist a dimension so the mod never touches its music.
- Pin which pool a dimension borrows.
- Override music a dimension supplies itself, if you want your picks to win.
- Curate a dimension's own track lineup.
Your own music
Drop .ogg files into config/dynmus/songs/ and they're registered automatically. Edit the generated entry to say exactly when each track should play — dimension, cave depth, time, weather, temperature, underwater, gamemode. The config is plain JSON, hand-editable, and won't crash on a typo (it falls back to defaults and leaves your file untouched).
Plays nice with your pack
- No mixins drive the selection — it's all NeoForge's SelectMusicEvent.
- Yields to Battle Music while combat music is playing.
- Never touches the music delay timer, so Constant Music and Music Delay Reducer keep full control of track timing.
- Music from other dimension, biome, and music mods is never overridden without your explicit say-so.
Credits
- LudoCrypt — the original Dynamic Music: concept, detection approach, and the dynamic-pitch system.
- celeri (c-leri) — Dynamic Music Updated, the 1.20.x continuation this build is based on.
- LGPL-3.0-only. This mod ships no audio; it references Mojang's own music by resource path.

