> 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/temperature-requirement-mekanism.md).

# Temperature requirement (Mekanism)

Make a recipe process only when the machine is at a specific temperature.

{% hint style="warning" %}
This requirement requires [Custom Machinery Mekanism](https://www.curseforge.com/minecraft/mc-mods/custom-machinery-mekanism) to be installed.
{% endhint %}

The temperature requirement can be used to make a recipe start only if the machine's [heat component](/custom-machinery-1.19/creating-custom-machines/machine-components/heat-component-mekanism.md) temperature is at a specific value.

This requirement doesn't consume or produce anything, it's only a condition for the recipe to start.

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

### Properties

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

#### Mandatory property

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

<details>

<summary>Temperature</summary>

#### Name : `temperature`

#### Description :&#x20;

A [Range](/custom-machinery-1.19/misc/range.md) of values that will allow the recipe to start.

#### Example :&#x20;

The recipe will start only if the machine temperature is above 100 (unit is defined in the other property)

```json
"temperature": "[100,]"
```

</details>

#### Optional property

<details>

<summary>Unit</summary>

#### Name : `unit`

#### Description :&#x20;

The unit of temperature used by the `temperature` property range.

Valid values :&#x20;

* kelvin
* celsius
* fahrenheit
* rankine
* ambient

#### Default : `kelvin`

#### Example :&#x20;

The range defined in the `temperature` property will be temperatures in °C

```json
"unit": "celsius"
```

</details>

### Example

A temperature requirement that will allow the recipe to run only if the machine temperature is higher than 100°C :

```json
{
    "type": "custommachinery:temperature",
    "temperature": "(100,)",
    "unit": "celsius"
}
```
