Conditions define which game state a music definition applies to. They are evaluated dynamically and can be combined using logical operators to describe complex scenarios.
This condition always evaluates to true, regardless of the current game state. It is commonly used for fallback tracks, global ambience, layered music systems, or simply for testing whether a music definition loads correctly.
JSON Example
1"condition": {
2 "type": "maestro:always"
3}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:always.
This condition always evaluates to false and therefore can never pass naturally. It is primarily useful for temporarily disabling music definitions without deleting them, creating placeholders in resource packs, or debugging condition priority and selection behavior.
Checks whether the player is currently located in one of the specified dimensions. This is one of the most commonly used conditions for separating music between the Overworld, Nether, End, or custom modded dimensions.
JSON Example
1"condition": {
2 "type": "maestro:dimension",
3 "values": [
4 "minecraft:overworld"
5 ]
6}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:dimension.
Checks whether the player is currently inside one of the specified biomes. This allows music to react to local environmental atmosphere rather than the entire dimension.
Checks whether the player’s current biome matches one of the specified biome tags. Unlike the regular biome condition, this works with grouped biome categories, making it especially useful for mod compatibility and large-scale music rules such as deserts, forests, oceans, or snowy regions.
JSON Example
1"condition": {
2 "type": "maestro:biome_tag",
3 "values": [
4 "c:is_desert",
5 "c:is_mesa"
6 ]
7}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:biome_tag.
Evaluates the current weather state around the player. Multiple weather flags can be combined together to create more specific scenarios, such as storms, blizzards, or sandstorms in modded environments.
JSON Example
1"condition": {
2 "type": "maestro:weather",
3 "is_raining": true,
4 "is_snowing": true,
5 "is_sandstorm": true,
6 "is_thundering": true
7}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:weather.
is_raining
BooleanOptional
If present, requires the weather to match the specified rain state.
is_snowing
BooleanOptional
If present, requires the weather to match the specified snow state.
is_sandstorm
BooleanOptional
If present, requires the weather to match the specified sandstorm state.
is_thundering
BooleanOptional
If present, requires the weather to match the specified thunder state.
Click any row to highlight it in the JSON view
Note is_thundering is typically used together with one of the precipitation flags to detect a more intensified version of a weather state (e.g., a thunderstorm instead of regular rain). If used alone, it will return true whenever a thunderstorm is active in the world, even if there is no precipitation at the player’s position (for example, in deserts).
Evaluates broad phases of the in-game day cycle such as daytime, nighttime, sunrise, or sunset. This condition is ideal when you want music to transition naturally between major periods of the day without relying on exact tick values.
JSON Example
1"condition": {
2 "type": "maestro:day_cycle",
3 "is_day": true,
4 "is_night": true,
5 "is_sunrise": true,
6 "is_sunset": true
7}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:day_cycle.
is_day
BooleanOptional
If present, requires the time to match daytime (ticks 0-12000).
is_night
BooleanOptional
If present, requires the time to match nighttime (ticks 13000-23000).
is_sunrise
BooleanOptional
If present, requires the time to match sunrise transition (ticks 23000-24000).
is_sunset
BooleanOptional
If present, requires the time to match sunset transition (ticks 12000-13000).
Evaluates the exact in-game world time using raw Minecraft tick values (0–24000). Unlike day_cycle, this condition provides fine-grained control and is useful for highly specific timing windows or smooth music progression systems.
JSON Example
1"condition": {
2 "type": "maestro:time",
3 "above": 12000,
4 "below": 13000
5}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:time.
above
IntegerOptional
If present, requires the world time to be greater than this value.
below
IntegerOptional
If present, requires the world time to be less than this value.
Evaluates the player’s current Y level against configurable thresholds. This can be used for cave ambience, underground tension, mountain themes, sky-height music, or any other altitude-based transitions.
JSON Example
1"condition": {
2 "type": "maestro:height",
3 "above": 0,
4 "below": 60
5}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:height.
above
IntegerOptional
If present, requires the player’s Y level to be above this value.
below
IntegerOptional
If present, requires the player’s Y level to be below this value.
Checks for nearby entities within a cubic search area centered on the player. This is useful for triggering combat music, boss encounters, ambient creature themes, or proximity-based soundtracks tied to specific mobs.
JSON Example
1"condition": {
2 "type": "maestro:entity",
3 "required_amount": 1,
4 "search_radius": 64,
5 "values": [
6 "minecraft:wither",
7 "minecraft:ender_dragon"
8 ]
9}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:entity.
required_amount
IntegerOptional
Minimum number of matching entities required. Defaults to 1.
search_radius
IntegerOptional
Radius of the cubic detection area centered on the player. Defaults to 64.
Checks for nearby entities using entity tags instead of individual entity IDs. This makes it easier to support multiple entities at once, including entities added by mods, without manually listing every possible variant.
JSON Example
1"condition": {
2 "type": "maestro:entity_tag",
3 "required_amount": 1,
4 "search_radius": 64,
5 "values": [
6 "c:bosses"
7 ]
8}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:entity_tag.
required_amount
IntegerOptional
Minimum number of matching entities required. Defaults to 1.
search_radius
IntegerOptional
Radius of the cubic detection area centered on the player. Defaults to 64.
Checks the entity the player is currently riding. This can be used for mount themes, vehicle ambience, sailing music, or transportation-based soundtrack transitions. If the values array is empty, any ridden entity will match.
JSON Example
1"condition": {
2 "type": "maestro:vehicle",
3 "values": [
4 "minecraft:horse",
5 "minecraft:donkey"
6 ]
7}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:vehicle.
values
Array[Identifier]
An array of entity IDs that are allowed. Leave empty to allow any entity.
Checks whether a specific GUI screen is currently open. This allows music to react to menus, inventories, pause screens, credits, or even custom modded interfaces through direct class checks.
Condition type identifier. Must be maestro:screen.
kind
EnumOptional
If present, checks the current screen against a predefined category: title, credits, inventory, or pause.
class_path
StringOptional
If present, checks whether the current screen is an instance of the specified class. This is an advanced option – use only if you know exactly what you are doing.
Checks whether any boss health overlay is currently visible on the player’s screen. This is typically used for boss battle music and works with both vanilla and compatible modded boss events.
JSON Example
1"condition": {
2 "type": "maestro:boss_event",
3 "value": true
4}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:boss_event.
value
Boolean
Whether a boss health overlay must currently be active. Set to true to require at least one active boss event, or false to require that no boss events are active.
Checks whether the player is currently in Creative mode. This can be useful for separating gameplay music from building-mode ambience, editor-style tracks, or resource-pack showcase environments.
JSON Example
1"condition": {
2 "type": "maestro:сreative",
3 "value": true
4}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:сreative.
value
Boolean
Whether the player must currently be in Creative mode. Set to true to require Creative mode, or false to require any non-Creative game mode.
Checks whether the player is currently inside an active world rather than the main menu. This is commonly used to separate menu music from gameplay music or to create title-screen ambience systems.
JSON Example
1"condition": {
2 "type": "maestro:in_game",
3 "value": true
4}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:in_game.
value
Boolean
Whether a world and player must currently be active. Set to true to require being in-game, or false to require being outside a world (e.g. in the main menu).
Checks whether the player is currently underwater. This is useful for aquatic ambience, underwater cave themes, diving sequences, or muffled environmental soundtrack transitions.
JSON Example
1"condition": {
2 "type": "maestro:underwater",
3 "value": true
4}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:underwater.
value
Boolean
Whether the player must currently be underwater. Set to true to require the player to be underwater, or false to require the player to be out of water.
Checks whether the player is actively fishing. This condition can be used for calm ambient tracks, waiting themes, or activity-based music systems centered around fishing gameplay.
JSON Example
1"condition": {
2 "type": "maestro:fishing",
3 "value": true
4}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:fishing.
value
Boolean
Whether the player must currently be fishing. Set to true to require an active fishing state, or false to require that the player is not fishing.
Combines multiple conditions together and only passes if every contained condition evaluates to true. This is the primary way to create highly specific music scenarios, such as nighttime rain inside a particular biome or boss encounters in certain dimensions.
JSON Example
1"condition": {
2 "type": "maestro:all_of",
3 "terms": []
4}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:all_of.
terms
Array
An array of conditions that must all evaluate to true for this condition to pass.
Combines multiple conditions and passes as soon as at least one of them evaluates to true. This is useful for grouping similar situations together under a single music definition.
JSON Example
1"condition": {
2 "type": "maestro:any_of",
3 "terms": []
4}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:any_of.
terms
Array
An array of conditions where at least one must evaluate to true for this condition to pass.
Passes only if none of the contained conditions evaluate to true. This is useful for excluding specific scenarios, such as preventing peaceful music during combat, storms, or boss encounters.
JSON Example
1"condition": {
2 "type": "maestro:none_of",
3 "terms": []
4}
FieldTypeDescription
type
String
Condition type identifier. Must be maestro:none_of.
terms
Array
An array of conditions that must all evaluate to false for this condition to pass.