
Ambience Mini
Play custom music based on player-state, locations, biomes, dimensions, combat, bosses, etc.
- Загрузки
- 1K
- Подписчики
- 5
- Обновлён
- 5 июля 2026 г.
- Лицензия
- LGPL-3.0-only
Опубликован 31 января 2026 г.
Inspired by "Ambience" by Vazkii and "Ambience - Extras" by viniciusgf1, this mod lets you play custom music based on game state such as boss fights, combat, being underground, sleeping, fishing, the time of day, and many more, but with a much more flexible configuration system compared to the older versions. This version does not provide any of the blocks, items, or commands from the older mods and I currently have no plans of re-implementing these; hence the "Mini" in the name (though the mod is not so "mini" anymore, but oh well).
CurseForge contains only the minimum information needed to get started with the mod but you can always find more information on the Ambience Mini Wiki or ask questions on the Ambience Mini Discord Server. Feel free to report errors on Discord or GitHub.
Also, Ambience Mini now has a web-based music configuration editor which helps you create, modify, and test music pack configurations.
Is this mod a bit over-engineered? Perhaps. Was it fun to make? Yes!
Feature overview
The full capabilities of the mod are explained throughout the wiki, but here is a rough overview.
The latest version can detect/read:
- Certain open menus (main menu, joining, disconnected, credits, paused).
- Certain world information (difficulty, dimension id, biome ids and tags).
- The time of day (day, night, dusk, dawn).
- The weather (rain, snow, thunder).
- Certain player states (health, sleeping, fishing, underwater, mounts/vehicles, potion/(de-)buff effects, elytra, and more).
- Combat state (number of fought mobs, active bosses, and whether a warden is nearby).
- Villages and ranches by counting nearby entities.
- Whether the player is in a cave based on the surrounding blocks and lighting.
- All user-defined areas/regions the player is currently located within. (some features require server support)
- Whether the player is in auto-generated structures such as villages and strongholds. (requires server support)
- Flags (named text/string values) stored on the server and which can be set with commands. (requires server support)
Cave detection: The cave detection algorithm uses the surrounding lighting and blocks to determine how likely it is that the player is in a cave or not, allowing for much more precise detection of caves compared to other music mods which typically rely solely on lighting and/or elevation.
Area system: Players can define named areas using a fully client-side-based system using key bindings and menus, even when the mod is not installed on the server. With server support, areas can be shared between players.
Flag system: With server support, players with operator privileges can define named variables with text/string values which can be used for music selection. You can also use command blocks to update these flags.
Supported file formats: MP3, OGG, and FLAC.
Vanilla music player: You can re-enable the built-in music player in the music configuration in case you still want the normal Minecraft in certain cases.
Basic key bindings:
Preloads Ambience Mini and the music pack while in-game, so you can apply your changed music config without restarting the game or recover if the music engine crashes.Endwill pause/resume the currently playing music.Page Upselects a new music within the current playlist.Page Downprints all Ambience Mini state (events and properties) to the Minecraft logs, allowing you to see what the mod sees.
Installation and Configuration
For a video-based guide: https://www.youtube.com/watch?v=Addpe8c0gQQ
To get started, you need to download and install 1) the mod itself and 2) a music pack. Before version 2.2.0, the mod should only be installed on the client. From version 2.2.0 and up, the mod can be installed on either or both the client and the server. When installed on the server, a few additional features are enabled (and clients without the mod can still join).
Next, you can either download a sample music pack for Ambience Mini 2.7.x or try making your own. In either case, make sure the ambience_music-folder is placed in the .minecraft-folder alongside the mods-folder.
The list below shows the files and folders used by this mod. The music files are located in .minecraft/ambience_music/music/. The file .minecraft/ambience_music/music_config.txt describes which music should be played under which conditions.
- .minecraft
- ambience_music // <-- Sample can be downloaded from the link above
- music
- Music1.mp3
- Music2.mp3
- ...
- MusicN.mp3
- music_config.txt
- config
- ambience_mini-client.toml
- mods
- AmbienceMini-McVersion-ModVersion.jar
If you run into problems with setting up the mod or music packs, see also the troubleshooting page.
Things of Note
By default, the mod ignores the master volume setting in Minecraft since the music tends to become way too silent compared to other sounds and it was way easier to just disconnect the music from the master volume than to adjust everything else. This behavior can be changed in the "ambience_mini-client.toml" configuration file.
Ченджлог
2.7.4Релиз1.21.1 · 5 июля 2026 г.
Version 2.7.4:
- Fixed mixin refmap issue.
Version 2.7.3:
- Fixed intermittent stuttering/glitches when playing MP3 files.
- Bugfixes and improvements in music players/decoders.
Version 2.7.2:
- Fixed server-sided crash bug when attacking entities with projectiles.
Version 2.7.1:
- Hopefully fixed bug where quickly entering and leaving a boss fight causes the music player to crash.
- Added
@is_targetedevent which istruewhen any mob is targeting the player (andundefinedwhen there is no server-support). - Added
@is_fightingevent which istruewhen any mob has had recent (damage-based) interaction with the player. - The
@in_combatevent works roughly the same, activating only when actively fighting and staying active until the player is safe or sufficient time has passed.- You can now be in combat when in creative mode, but not targeted. You can use
$game_modeif you do not want combat music in creative. - Removed
Leaving_Combat_Distancemod config option in favor of time-based combat detection (and since long-distance combat should still count as combat).
- You can now be in combat when in creative mode, but not targeted. You can use
- Fixed bug for Minecraft versions 1.19.2 and above that caused incorrect tracking of enemies in combat.
- Improved combat tracking in general.
- Improved error messaging in an edge case.
- Fixed brainfart where messages (errors, notifications, etc.) are created but not printed to the chat...
Version 2.7.0:
- Improved structure caching and intersection checking.
- Added the ability to re-enable the vanilla music player in the music config.
- Use the
use_vanilla_playercommand (instead of aplaycommand) to enable the vanilla player.
- Use the
- Added a
$combatantsproperty of typelist<combatant>using the newcombatanttype.combatanthas four fields (accessed usingcombatant.field):type_id,health,maxHealth, andhealth_percent.- This can be used to select music based on the type and state of fought mobs.
- Added fields
int.floatValandfloat.intValfor converting between whole and decimal numbers. - Added arithmetic operators
+,-,*, and/to the configuration language. - Added player events
@on_fireand@in_powder_snow. - Added
lengthfield to lists.list.lengthwill get the length of a list. - Added support for
loopstartandlooplength/loopendmetadata tags for all supported music files.- This will cause the music to start out as normal, but continue looping some part after reaching the end of the loop interval.
loopstartandlooplength/loopendare all measured in samples (the smallest piece of audio data).
- Mod now prints a warning to the logs when music directory contains unused music files.
- Mod now prints warnings about unused identifiers (e.g., playlists) in the music config.
2.7.4Релиз1.20.1 · 5 июля 2026 г.
Version 2.7.4:
- Fixed mixin refmap issue.
Version 2.7.3:
- Fixed intermittent stuttering/glitches when playing MP3 files.
- Bugfixes and improvements in music players/decoders.
Version 2.7.2:
- Fixed server-sided crash bug when attacking entities with projectiles.
Version 2.7.1:
- Hopefully fixed bug where quickly entering and leaving a boss fight causes the music player to crash.
- Added
@is_targetedevent which istruewhen any mob is targeting the player (andundefinedwhen there is no server-support). - Added
@is_fightingevent which istruewhen any mob has had recent (damage-based) interaction with the player. - The
@in_combatevent works roughly the same, activating only when actively fighting and staying active until the player is safe or sufficient time has passed.- You can now be in combat when in creative mode, but not targeted. You can use
$game_modeif you do not want combat music in creative. - Removed
Leaving_Combat_Distancemod config option in favor of time-based combat detection (and since long-distance combat should still count as combat).
- You can now be in combat when in creative mode, but not targeted. You can use
- Fixed bug for Minecraft versions 1.19.2 and above that caused incorrect tracking of enemies in combat.
- Improved combat tracking in general.
- Improved error messaging in an edge case.
- Fixed brainfart where messages (errors, notifications, etc.) are created but not printed to the chat...
Version 2.7.0:
- Improved structure caching and intersection checking.
- Added the ability to re-enable the vanilla music player in the music config.
- Use the
use_vanilla_playercommand (instead of aplaycommand) to enable the vanilla player.
- Use the
- Added a
$combatantsproperty of typelist<combatant>using the newcombatanttype.combatanthas four fields (accessed usingcombatant.field):type_id,health,maxHealth, andhealth_percent.- This can be used to select music based on the type and state of fought mobs.
- Added fields
int.floatValandfloat.intValfor converting between whole and decimal numbers. - Added arithmetic operators
+,-,*, and/to the configuration language. - Added player events
@on_fireand@in_powder_snow. - Added
lengthfield to lists.list.lengthwill get the length of a list. - Added support for
loopstartandlooplength/loopendmetadata tags for all supported music files.- This will cause the music to start out as normal, but continue looping some part after reaching the end of the loop interval.
loopstartandlooplength/loopendare all measured in samples (the smallest piece of audio data).
- Mod now prints a warning to the logs when music directory contains unused music files.
- Mod now prints warnings about unused identifiers (e.g., playlists) in the music config.
2.7.4Релиз1.19.2 · 5 июля 2026 г.
Version 2.7.4:
- Fixed mixin refmap issue.
Version 2.7.3:
- Fixed intermittent stuttering/glitches when playing MP3 files.
- Bugfixes and improvements in music players/decoders.
Version 2.7.2:
- Fixed server-sided crash bug when attacking entities with projectiles.
Version 2.7.1:
- Hopefully fixed bug where quickly entering and leaving a boss fight causes the music player to crash.
- Added
@is_targetedevent which istruewhen any mob is targeting the player (andundefinedwhen there is no server-support). - Added
@is_fightingevent which istruewhen any mob has had recent (damage-based) interaction with the player. - The
@in_combatevent works roughly the same, activating only when actively fighting and staying active until the player is safe or sufficient time has passed.- You can now be in combat when in creative mode, but not targeted. You can use
$game_modeif you do not want combat music in creative. - Removed
Leaving_Combat_Distancemod config option in favor of time-based combat detection (and since long-distance combat should still count as combat).
- You can now be in combat when in creative mode, but not targeted. You can use
- Fixed bug for Minecraft versions 1.19.2 and above that caused incorrect tracking of enemies in combat.
- Improved combat tracking in general.
- Improved error messaging in an edge case.
- Fixed brainfart where messages (errors, notifications, etc.) are created but not printed to the chat...
Version 2.7.0:
- Improved structure caching and intersection checking.
- Added the ability to re-enable the vanilla music player in the music config.
- Use the
use_vanilla_playercommand (instead of aplaycommand) to enable the vanilla player.
- Use the
- Added a
$combatantsproperty of typelist<combatant>using the newcombatanttype.combatanthas four fields (accessed usingcombatant.field):type_id,health,maxHealth, andhealth_percent.- This can be used to select music based on the type and state of fought mobs.
- Added fields
int.floatValandfloat.intValfor converting between whole and decimal numbers. - Added arithmetic operators
+,-,*, and/to the configuration language. - Added player events
@on_fireand@in_powder_snow. - Added
lengthfield to lists.list.lengthwill get the length of a list. - Added support for
loopstartandlooplength/loopendmetadata tags for all supported music files.- This will cause the music to start out as normal, but continue looping some part after reaching the end of the loop interval.
loopstartandlooplength/loopendare all measured in samples (the smallest piece of audio data).
- Mod now prints a warning to the logs when music directory contains unused music files.
- Mod now prints warnings about unused identifiers (e.g., playlists) in the music config.
2.7.4Релиз1.18.2 · 5 июля 2026 г.
Version 2.7.4:
- Fixed mixin refmap issue.
Version 2.7.3:
- Fixed intermittent stuttering/glitches when playing MP3 files.
- Bugfixes and improvements in music players/decoders.
Version 2.7.2:
- Fixed server-sided crash bug when attacking entities with projectiles.
Version 2.7.1:
- Hopefully fixed bug where quickly entering and leaving a boss fight causes the music player to crash.
- Added
@is_targetedevent which istruewhen any mob is targeting the player (andundefinedwhen there is no server-support). - Added
@is_fightingevent which istruewhen any mob has had recent (damage-based) interaction with the player. - The
@in_combatevent works roughly the same, activating only when actively fighting and staying active until the player is safe or sufficient time has passed.- You can now be in combat when in creative mode, but not targeted. You can use
$game_modeif you do not want combat music in creative. - Removed
Leaving_Combat_Distancemod config option in favor of time-based combat detection (and since long-distance combat should still count as combat).
- You can now be in combat when in creative mode, but not targeted. You can use
- Fixed bug for Minecraft versions 1.19.2 and above that caused incorrect tracking of enemies in combat.
- Improved combat tracking in general.
- Improved error messaging in an edge case.
- Fixed brainfart where messages (errors, notifications, etc.) are created but not printed to the chat...
Version 2.7.0:
- Improved structure caching and intersection checking.
- Added the ability to re-enable the vanilla music player in the music config.
- Use the
use_vanilla_playercommand (instead of aplaycommand) to enable the vanilla player.
- Use the
- Added a
$combatantsproperty of typelist<combatant>using the newcombatanttype.combatanthas four fields (accessed usingcombatant.field):type_id,health,maxHealth, andhealth_percent.- This can be used to select music based on the type and state of fought mobs.
- Added fields
int.floatValandfloat.intValfor converting between whole and decimal numbers. - Added arithmetic operators
+,-,*, and/to the configuration language. - Added player events
@on_fireand@in_powder_snow. - Added
lengthfield to lists.list.lengthwill get the length of a list. - Added support for
loopstartandlooplength/loopendmetadata tags for all supported music files.- This will cause the music to start out as normal, but continue looping some part after reaching the end of the loop interval.
loopstartandlooplength/loopendare all measured in samples (the smallest piece of audio data).
- Mod now prints a warning to the logs when music directory contains unused music files.
- Mod now prints warnings about unused identifiers (e.g., playlists) in the music config.
2.7.3Релиз1.21.1 · 4 июля 2026 г.
Version 2.7.3:
- Fixed intermittent stuttering/glitches when playing MP3 files.
- Bugfixes and improvements in music players/decoders.
Version 2.7.2:
- Fixed server-sided crash bug when attacking entities with projectiles.
Version 2.7.1:
- Hopefully fixed bug where quickly entering and leaving a boss fight causes the music player to crash.
- Added
@is_targetedevent which istruewhen any mob is targeting the player (andundefinedwhen there is no server-support). - Added
@is_fightingevent which istruewhen any mob has had recent (damage-based) interaction with the player. - The
@in_combatevent works roughly the same, activating only when actively fighting and staying active until the player is safe or sufficient time has passed.- You can now be in combat when in creative mode, but not targeted. You can use
$game_modeif you do not want combat music in creative. - Removed
Leaving_Combat_Distancemod config option in favor of time-based combat detection (and since long-distance combat should still count as combat).
- You can now be in combat when in creative mode, but not targeted. You can use
- Fixed bug for Minecraft versions 1.19.2 and above that caused incorrect tracking of enemies in combat.
- Improved combat tracking in general.
- Improved error messaging in an edge case.
- Fixed brainfart where messages (errors, notifications, etc.) are created but not printed to the chat...
Version 2.7.0:
- Improved structure caching and intersection checking.
- Added the ability to re-enable the vanilla music player in the music config.
- Use the
use_vanilla_playercommand (instead of aplaycommand) to enable the vanilla player.
- Use the
- Added a
$combatantsproperty of typelist<combatant>using the newcombatanttype.combatanthas four fields (accessed usingcombatant.field):type_id,health,maxHealth, andhealth_percent.- This can be used to select music based on the type and state of fought mobs.
- Added fields
int.floatValandfloat.intValfor converting between whole and decimal numbers. - Added arithmetic operators
+,-,*, and/to the configuration language. - Added player events
@on_fireand@in_powder_snow. - Added
lengthfield to lists.list.lengthwill get the length of a list. - Added support for
loopstartandlooplength/loopendmetadata tags for all supported music files.- This will cause the music to start out as normal, but continue looping some part after reaching the end of the loop interval.
loopstartandlooplength/loopendare all measured in samples (the smallest piece of audio data).
- Mod now prints a warning to the logs when music directory contains unused music files.
- Mod now prints warnings about unused identifiers (e.g., playlists) in the music config.
2.7.3Релиз1.20.1 · 4 июля 2026 г.
Version 2.7.3:
- Fixed intermittent stuttering/glitches when playing MP3 files.
- Bugfixes and improvements in music players/decoders.
Version 2.7.2:
- Fixed server-sided crash bug when attacking entities with projectiles.
Version 2.7.1:
- Hopefully fixed bug where quickly entering and leaving a boss fight causes the music player to crash.
- Added
@is_targetedevent which istruewhen any mob is targeting the player (andundefinedwhen there is no server-support). - Added
@is_fightingevent which istruewhen any mob has had recent (damage-based) interaction with the player. - The
@in_combatevent works roughly the same, activating only when actively fighting and staying active until the player is safe or sufficient time has passed.- You can now be in combat when in creative mode, but not targeted. You can use
$game_modeif you do not want combat music in creative. - Removed
Leaving_Combat_Distancemod config option in favor of time-based combat detection (and since long-distance combat should still count as combat).
- You can now be in combat when in creative mode, but not targeted. You can use
- Fixed bug for Minecraft versions 1.19.2 and above that caused incorrect tracking of enemies in combat.
- Improved combat tracking in general.
- Improved error messaging in an edge case.
- Fixed brainfart where messages (errors, notifications, etc.) are created but not printed to the chat...
Version 2.7.0:
- Improved structure caching and intersection checking.
- Added the ability to re-enable the vanilla music player in the music config.
- Use the
use_vanilla_playercommand (instead of aplaycommand) to enable the vanilla player.
- Use the
- Added a
$combatantsproperty of typelist<combatant>using the newcombatanttype.combatanthas four fields (accessed usingcombatant.field):type_id,health,maxHealth, andhealth_percent.- This can be used to select music based on the type and state of fought mobs.
- Added fields
int.floatValandfloat.intValfor converting between whole and decimal numbers. - Added arithmetic operators
+,-,*, and/to the configuration language. - Added player events
@on_fireand@in_powder_snow. - Added
lengthfield to lists.list.lengthwill get the length of a list. - Added support for
loopstartandlooplength/loopendmetadata tags for all supported music files.- This will cause the music to start out as normal, but continue looping some part after reaching the end of the loop interval.
loopstartandlooplength/loopendare all measured in samples (the smallest piece of audio data).
- Mod now prints a warning to the logs when music directory contains unused music files.
- Mod now prints warnings about unused identifiers (e.g., playlists) in the music config.
2.7.3Релиз1.19.2 · 4 июля 2026 г.
Version 2.7.3:
- Fixed intermittent stuttering/glitches when playing MP3 files.
- Bugfixes and improvements in music players/decoders.
Version 2.7.2:
- Fixed server-sided crash bug when attacking entities with projectiles.
Version 2.7.1:
- Hopefully fixed bug where quickly entering and leaving a boss fight causes the music player to crash.
- Added
@is_targetedevent which istruewhen any mob is targeting the player (andundefinedwhen there is no server-support). - Added
@is_fightingevent which istruewhen any mob has had recent (damage-based) interaction with the player. - The
@in_combatevent works roughly the same, activating only when actively fighting and staying active until the player is safe or sufficient time has passed.- You can now be in combat when in creative mode, but not targeted. You can use
$game_modeif you do not want combat music in creative. - Removed
Leaving_Combat_Distancemod config option in favor of time-based combat detection (and since long-distance combat should still count as combat).
- You can now be in combat when in creative mode, but not targeted. You can use
- Fixed bug for Minecraft versions 1.19.2 and above that caused incorrect tracking of enemies in combat.
- Improved combat tracking in general.
- Improved error messaging in an edge case.
- Fixed brainfart where messages (errors, notifications, etc.) are created but not printed to the chat...
Version 2.7.0:
- Improved structure caching and intersection checking.
- Added the ability to re-enable the vanilla music player in the music config.
- Use the
use_vanilla_playercommand (instead of aplaycommand) to enable the vanilla player.
- Use the
- Added a
$combatantsproperty of typelist<combatant>using the newcombatanttype.combatanthas four fields (accessed usingcombatant.field):type_id,health,maxHealth, andhealth_percent.- This can be used to select music based on the type and state of fought mobs.
- Added fields
int.floatValandfloat.intValfor converting between whole and decimal numbers. - Added arithmetic operators
+,-,*, and/to the configuration language. - Added player events
@on_fireand@in_powder_snow. - Added
lengthfield to lists.list.lengthwill get the length of a list. - Added support for
loopstartandlooplength/loopendmetadata tags for all supported music files.- This will cause the music to start out as normal, but continue looping some part after reaching the end of the loop interval.
loopstartandlooplength/loopendare all measured in samples (the smallest piece of audio data).
- Mod now prints a warning to the logs when music directory contains unused music files.
- Mod now prints warnings about unused identifiers (e.g., playlists) in the music config.
2.7.3Релиз1.18.2 · 4 июля 2026 г.
Version 2.7.3:
- Fixed intermittent stuttering/glitches when playing MP3 files.
- Bugfixes and improvements in music players/decoders.
Version 2.7.2:
- Fixed server-sided crash bug when attacking entities with projectiles.
Version 2.7.1:
- Hopefully fixed bug where quickly entering and leaving a boss fight causes the music player to crash.
- Added
@is_targetedevent which istruewhen any mob is targeting the player (andundefinedwhen there is no server-support). - Added
@is_fightingevent which istruewhen any mob has had recent (damage-based) interaction with the player. - The
@in_combatevent works roughly the same, activating only when actively fighting and staying active until the player is safe or sufficient time has passed.- You can now be in combat when in creative mode, but not targeted. You can use
$game_modeif you do not want combat music in creative. - Removed
Leaving_Combat_Distancemod config option in favor of time-based combat detection (and since long-distance combat should still count as combat).
- You can now be in combat when in creative mode, but not targeted. You can use
- Fixed bug for Minecraft versions 1.19.2 and above that caused incorrect tracking of enemies in combat.
- Improved combat tracking in general.
- Improved error messaging in an edge case.
- Fixed brainfart where messages (errors, notifications, etc.) are created but not printed to the chat...
Version 2.7.0:
- Improved structure caching and intersection checking.
- Added the ability to re-enable the vanilla music player in the music config.
- Use the
use_vanilla_playercommand (instead of aplaycommand) to enable the vanilla player.
- Use the
- Added a
$combatantsproperty of typelist<combatant>using the newcombatanttype.combatanthas four fields (accessed usingcombatant.field):type_id,health,maxHealth, andhealth_percent.- This can be used to select music based on the type and state of fought mobs.
- Added fields
int.floatValandfloat.intValfor converting between whole and decimal numbers. - Added arithmetic operators
+,-,*, and/to the configuration language. - Added player events
@on_fireand@in_powder_snow. - Added
lengthfield to lists.list.lengthwill get the length of a list. - Added support for
loopstartandlooplength/loopendmetadata tags for all supported music files.- This will cause the music to start out as normal, but continue looping some part after reaching the end of the loop interval.
loopstartandlooplength/loopendare all measured in samples (the smallest piece of audio data).
- Mod now prints a warning to the logs when music directory contains unused music files.
- Mod now prints warnings about unused identifiers (e.g., playlists) in the music config.
Комментарии
Загружаем…