Battle Music Crescendo

Battle Music Crescendo

Mod that adds background music when fighting hostile mobs and players and more

by
26 Downloads
neoforgeadventuregame-mechanics
Rent Server with this Mod

About this Mod

Battle Music Crescendo

Minecraft 1.21.x · Client-side adaptive combat music · Custom music packs · In-game editor · Optional server sync · Mob Battle Music pack format supported

Author: MickDev


What this mod actually does (under the hood)

Battle Music Crescendo is not a single looping track. Every second it:

  1. Scans your world around you (hostile mobs, bosses, PvP, health, biomes, structures).
  2. Scores combat intensity and picks a mood (exploration → tension → combat → intense → boss → PvP → critical danger).
  3. Resolves priority so real danger always beats ambient fluff.
  4. Selects the best matching track from your enabled music packs (JSON rules + conditions).
  5. Crossfades between tracks with configurable fade in/out.
  6. Silences vanilla Minecraft music while your custom music plays (optional).
  7. Plays victory stings when combat ends (optional).

All audio runs on your client only. Other players hear their own music (or vanilla). The server never needs your .ogg files.


Features at a glance

Feature Details
Track moods Exploration, tension, light combat, intense combat, boss, PvP, victory, critical danger, ambient, menu (title screen), scripted
Music packs Folder packs in battlemusiccrescendo_musicpacks/ — enable them like resource packs
Pack editor Create, edit, preview, export .zip, import packs, Load example pack (full template)
JSON tracks One .json per track + matching .ogg in sounds/music/
Conditions Biomes, dimensions, structures, entity ids, entity tags, min enemy count, boss, PvP, low health, screen (title for main menu)
Mob Battle Music Import packs using assets/mobbattlemusic/music_tracks/ (mob_specific, mob_list, mob_tag, player_specific)
Multiplayer Client-only on any server — no server mod required
Server sync Optional: install on server too for slightly better combat detection
Config screen Volume, detection, fades, debug overlay, menu music, mute vanilla
Debug overlay Live state, track id, priority, enemy count, intensity

Compatibility

Setup Result
Single-player Full features
Multiplayer — mod only on your client Works — local mob detection
Multiplayer — mod on client + server Works — optional combat sync packets
Hybrid servers (Mohist, etc.) Client fallback detection; no server mod required
Mob Battle Music packs Drop JSON + OGG into your BMC music pack (see tutorial below)

Minecraft version: 1.21.x


Complete tutorial

Follow these steps in order the first time you use the mod. After that, you only tweak packs or add new .ogg files.


Part 1 — Install and open settings

  1. Install Battle Music Crescendo on your Minecraft client (1.21.x).
  2. Launch the game and join a world (single-player is fine for testing).
  3. Open Options → Controls and find the category Battle Music Crescendo:
    • Open config (default B) — main settings screen
    • Toggle debug (default F8) — on-screen combat/music debug
    • Test music (unbound) — plays a test track if packs are loaded
  4. Open Options → Music & Sound (or the mod config via B / Mods list).
  5. Click Music packs... (placed near skin/resource pack buttons).

You do not need the mod on a dedicated server to hear music.


Part 2 — Load the example pack (recommended)

The mod ships a full ExamplePack template. Use the in-game editor so you never start from an empty folder.

  1. From the main menu or in-game, open the music pack UI:
    • Options → Music packs..., then Music Pack editor,
      or use the editor shortcut from the mod config screen.
  2. In the editor (left column), click Load example pack.
  3. You should see 12 tracks in the list, for example:
    • tension_near, combat_light, combat_intense, boss_dark, pvp_duel, victory_sting, critical_danger, ambient_forest, ambient_stronghold, menu_title, exploration_calm, scripted_example
  4. Click Open pack folder — Windows Explorer opens your pack directory.

Default folder (game directory):

battlemusiccrescendo_musicpacks/ExamplePack/
  1. Click Reload packs in the editor after any file change.

Important: Loading the example pack creates JSON + sounds.json only. You still add your own music files (next part).


Part 3 — Add your music files (.ogg)

Each track JSON references an ogg_file. Put the matching file here:

battlemusiccrescendo_musicpacks/ExamplePack/assets/battlemusiccrescendo/sounds/music/
Track JSON Put this file in sounds/music/
tension_near.json tension.ogg
combat_light.json combat_light.ogg
combat_intense.json combat_intense.ogg
boss_dark.json boss_dark.ogg
pvp_duel.json pvp.ogg
victory_sting.json victory.ogg
critical_danger.json defeat.ogg
ambient_forest.json ambient_forest.ogg
ambient_stronghold.json ambient_stronghold.ogg
menu_title.json menu_title.ogg
exploration_calm.json exploration.ogg
scripted_example.json scripted_event.ogg

Tips:

  • Use .ogg (Vorbis), stereo, streamed music quality.
  • File names must match ogg_file in the JSON exactly.
  • You can use the same .ogg for several tracks if you want (duplicate the file with different names).

After copying files:

  1. Return to the game.
  2. Music packs... → enable ExamplePack (move it to Selected).
  3. In the editor, click Reload packs.
  4. Press Play on a track to preview, or spawn mobs to test live.

Part 4 — Enable the pack in-game

  1. Options → Music packs...
  2. Left list: Available Music Packs — select ExamplePack (or your pack name).
  3. Click the arrow to move it to Selected Music Packs.
  4. Close the screen — the game reloads pack resources automatically.
  5. Optional: enable Menu test music in mod config to hear menu_title.ogg on the main menu (screen condition title).

If you hear nothing:

  • Confirm .ogg files exist in sounds/music/.
  • Confirm the pack is selected, not only present on disk.
  • Click Reload packs in the editor.
  • Enable Debug overlay (F8) and check Playing: true and State: when near mobs.

Part 5 — Test combat music in a world

  1. Enable Debug overlay (F8 or config).
  2. Set Detection range to at least 48 blocks in config (default).
  3. In Creative or Survival, spawn or find hostile mobs within range.
  4. Watch the overlay:
    • State should move: explorationtensionlight_combat / intense_combat when you fight.
    • Playing should be true when a track matches.
  5. Kill mobs and leave combat — a short victory track may play (if enabled in common config).
  6. Take damage below the critical health threshold — defeat / danger music can play.

Boss music: spawn a high-HP mob or use the boss: true condition in JSON (see Part 7).

PvP: fight another player with PvP music enabled in config.


Part 6 — Music Pack Editor (create your own tracks)

Open Music Pack editor from the music packs screen or mod config.

Button What it does
Load example pack Installs/refreshes all 12 example JSON files + Mob Battle Music samples + README
Open pack folder Opens battlemusiccrescendo_musicpacks/ExamplePack/ in your file manager
New track Creates a blank JSON you edit and save
Save Writes the current track JSON to disk
Play / Stop Preview the selected track
Reload packs Reloads resources so new sounds are registered
Export zip Exports the pack folder as a shareable .zip
Import .zip pack(s) Extracts zip packs into battlemusiccrescendo_musicpacks/

Editor fields (right panel)

Field Meaning
Id Unique track id, e.g. battlemusiccrescendo:my_boss
Ogg file File name in sounds/music/, e.g. my_boss.ogg
Type tension, combat, intense, boss, pvp, victory, defeat, ambient, menu, exploration, scripted
Priority Higher number wins when multiple tracks match (boss > combat > tension)
Dimensions / Biomes / Structures Comma-separated ids — track only plays when matched
Entity tags e.g. minecraft:skeletons
Min enemies Minimum hostile count required
Boss / PvP / Critical Toggle condition flags

After Save, click Reload packs. The mod rebuilds sounds.json from your JSON files automatically.


Part 7 — Track JSON reference (manual editing)

Folder:

assets/battlemusiccrescendo/music_tracks/my_track.json

Minimal example:

{
  "id": "battlemusiccrescendo:my_track",
  "ogg_file": "my_track.ogg",
  "type": "combat",
  "priority": 30,
  "fade_in_ticks": 60,
  "fade_out_ticks": 80,
  "loop": true,
  "conditions": {
    "min_enemy_count": 1
  }
}

type values

type When it plays
exploration Calm — no real threat
tension Enemies nearby, not full combat
combat Light combat
intense Many enemies / heavy fight
boss Boss detected or boss: true condition
pvp Fighting players
victory One-shot after combat ends
defeat Critical low health
ambient Biome/structure ambience override
menu Main menu (conditions.screen: "title")
scripted Custom scripted/event use

conditions (all optional)

"conditions": {
  "dimensions": ["minecraft:overworld", "minecraft:the_nether"],
  "biomes": ["minecraft:deep_dark"],
  "structures": ["minecraft:stronghold"],
  "entities": ["minecraft:wither"],
  "entity_tags": ["minecraft:skeletons"],
  "min_enemy_count": 4,
  "boss": true,
  "pvp": true,
  "critical_health": true,
  "screen": "title"
}
  • ogg_file is the main reference — the sound id is derived from the file name (without .ogg).
  • Do not rely on copyrighted placeholder names in packs you publish; use your own file names.

Part 8 — Mob Battle Music compatible packs

You can reuse the track format from Mob Battle Music inside your BMC pack.

Folder:

assets/mobbattlemusic/music_tracks/

Example — zombie aggro track:

{
  "type": "mob_specific",
  "sound": "mobbattlemusic:aggro_track",
  "priority": 30,
  "fade_time": 40,
  "group": "attacking",
  "selector": "any",
  "mob": "minecraft:zombie"
}

Place audio:

assets/mobbattlemusic/sounds/aggro_track.ogg
assets/mobbattlemusic/sounds/non_aggro_track.ogg
assets/mobbattlemusic/sounds/player_track.ogg

Supported types: mob_specific, mob_list, mob_tag, player_specific, player_specific_uuid.

The example pack includes three sample JSON files. Load example pack in the editor copies them for you.


Part 9 — Multiplayer and servers

Your setup What to do
Play on a vanilla-like server without the mod Install BMC only on your client — music works via local detection
Play on a server with the mod Optional better sync; same music packs on your client
Host your own server Server mod is optional — not required for players to hear music

Network sync is optional. If the server does not have the mod, the client never disconnects because of missing channels.


Part 10 — Configuration files

File Location
Common config/battlemusiccrescendo-common.toml
Client config/battlemusiccrescendo-client.toml

Common (shared logic)

Option Purpose
enabled Master switch
detectionRange Mob scan radius (blocks)
bossDetectionRange Boss scan radius
fadeInTicks / fadeOutTicks / crossfadeTicks Default transitions
minMobsForBattle / minMobsForIntense Thresholds for combat moods
pvpMusic / victoryMusic Enable PvP and victory stings
allowServerSync Use server combat packets when available
allowClientOnlyFallback Local detection when server has no mod
blacklistDimensions / whitelistDimensions Limit where music runs
entityBlacklist / entityWhitelist Filter which mobs count

Client

Option Purpose
battleVolume Your battle music volume (0.0–1.0)
showDebugOverlay On-screen debug
muteVanillaDuringCombat Stop vanilla background music while mod music plays
menuTestMusic Play menu track on title screen

In-game: Mods → Battle Music Crescendo → Config or keybind B.


Part 11 — Sharing a pack (.zip)

  1. Build your pack under battlemusiccrescendo_musicpacks/MyPack/.
  2. Include:
    • pack.mcmeta
    • assets/battlemusiccrescendo/music_tracks/*.json
    • assets/battlemusiccrescendo/sounds/music/*.ogg
    • Optional: assets/mobbattlemusic/...
  3. In the editor, Export zip.
  4. Others use Import .zip pack(s) and enable the pack in Music packs....

Troubleshooting

Problem Fix
No music at all Enable pack in Selected; add .ogg files; Reload packs
Only one track in editor Click Load example pack again (refreshes all 12 JSON files)
Sound ... not loaded in log Missing .ogg or wrong file name vs ogg_file
Menu music silent Add menu_title.ogg; enable Menu test music; pack selected
Vanilla music overlaps Enable mute vanilla during combat in client config
Music on server requires mod False — install on client only
Combat feels late Increase detectionRange; install mod on server for sync
JSON error in log Each track needs ogg_file (or sound) + type

Enable debug overlay (F8) while testing — it shows the live combat state, selected track, and whether audio is playing.


inspiration

Combat music concept inspired by the goals of [Mob Battle Music] By:nonamecrackers2. Battle Music Crescendo adds its own priority system, pack editor, menu tracks, victory/critical layers, and optional server sync.

Available Versions

Battle Music Crescendo 1.0.1release
MC 1.21.1neoforge
June 6, 2026
Battle Music Crescendo 1.0.0release
MC 1.21.1neoforge
June 2, 2026

How to Install Battle Music Crescendo on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set neoforge Loader

In the panel under "Egg", select the neoforge loader and matching Minecraft version (1.21.1).

3

Install Mod

Open the mod browser in the dashboard and search for "Battle Music Crescendo". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

neoforge

Minecraft Versions

1.21.1

Server-side

~ Optional

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Battle Music Crescendo server crashes on startup – what to do?

Most common cause: wrong neoforge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.

Is Battle Music Crescendo compatible with neoforge?

Battle Music Crescendo officially supports neoforge for Minecraft 1.21.1. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Battle Music Crescendo – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Battle Music Crescendo consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Battle Music Crescendo with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
MIT License
Server-side
Optional

Supported Versions

1.21.1