# Redstone

Redstone requirement is used to make the recipe work only when the machine receive a specific redstone signal.

This requirement is an **input only** requirement, meaning that you don't have to define the `mode` property.&#x20;

It is used only to block or allow the usage of a recipe under certain conditions but don't have any real inputs or outputs.

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

### Properties

The redstone requirement has 2 mandatory properties.

#### Mandatory properties

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

<details>

<summary>Power</summary>

#### Name : `power`

#### Description :&#x20;

A [range](https://frinn.gitbook.io/custom-machinery-1.19/misc/range) that define the valid redstone signal (between 0 and 15) the machine need to process the recipe.

### Example :&#x20;

The recipe will only start if the machine receive a redstone signal of exactly 1.

```json
"power": "1"
```

</details>

### Example

A redstone requirement that will make the recipe start only if the machine received redstone signal is lower or equals than 8.

```json
{
    "type": "custommachinery:redstone",
    "power": "(,8)"
}
```
