> For the complete documentation index, see [llms.txt](https://frinn.gitbook.io/custom-machinery-1.19/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://frinn.gitbook.io/custom-machinery-1.19/recipes/requirements/biome.md).

# Biome

Make the recipe process only in a specific biome

Biome requirement is used to make the custom machine recipe work only in some biomes of the world.

The biome requirement is an input only requirement, meaning that you don't have to define the `mode` property. It is used only to restrict or allow the usage of a recipe in certain biomes of the world.

The type of biome requirement is : `"custommachinery:biome"`.

### Properties

The biome requirement has 2 mandatory properties and 1 optional property.

#### Mandatory properties

```json
"type": "custommachinery:biome" //Mandatory to define a biome requirement.
```

<details>

<summary>Filter</summary>

#### Name : `filter`

#### Description :

A single or array of Biome ID to check if the machine is in or not.\
The biomes ID must must be like "minecraft:plains" or any custom biomes.\
This list may be a whitelist or a blacklist depending of the "blacklist" property.

#### Default :

Empty, so any biomes will be allowed if the filter is a whitelist.

#### Example :

```json
"filter": ["minecraft:savanna"]
```

The recipe will only run if the machine is in a Savanna biome.

</details>

#### Optional properties

<details>

<summary>Blacklist</summary>

#### Name: `blacklist`

#### Description :

A Boolean value used to define if the "filter" property should be a blacklist instead of a whitelist.

#### Default : `false`

The "filter" property will act as a whitelist.

#### Example :

```json
"blacklist": true
```

The "filter" property will act as a blacklist.

</details>

### Example

A biome requirement that will make the recipe works in all biomes but the vanilla plains :

```json
{
    "type": "custommachinery:biome",
    "filter": "minecraft:plains",
    "blacklist": true
}
```
