Recipe Conditions

Recipe conditions restrict where or when a process recipe can run.

Add a conditions array to the recipe root:

{
  "structureId": "mypack:my_structure",
  "ticks": 60,
  "conditions": [
    { "type": "mm:dimension", "dimension": "minecraft:overworld" }
  ],
  "inputs": [],
  "outputs": []
}

Dimension condition

{
  "type": "mm:dimension",
  "dimension": "minecraft:overworld"
}

The recipe only runs in the listed dimension.

Biome condition

{ "type": "mm:biome", "biome": "minecraft:plains" }

The biome can be a biome ID or a tag prefixed with #, such as #minecraft:is_ocean.

Weather condition

{
  "type": "mm:weather",
  "weather": "clear"
}

Supported weather values:

Value Meaning
clear No rain or thunder.
rain Raining.
thunder Raining and thundering.

Time condition

{ "type": "mm:time", "time": "night" }

Use day or night.

Height condition

{ "type": "mm:height", "minY": 0, "maxY": 64 }

Either bound can be omitted. The condition checks the controller’s Y coordinate.

Redstone condition

{ "type": "mm:redstone", "redstone": "powered" }

Use powered or unpowered to require the controller’s redstone state.

Structure tier condition

{ "type": "mm:tier", "minTier": 2, "maxTier": 4 }

Either bound can be omitted. The formed structure must meet the requested tier range. Every condition in the recipe’s conditions array must pass for the recipe to run.