> For the complete documentation index, see [llms.txt](https://frinn.gitbook.io/custom-machinery-1.21/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.21/recipes/requirements/position.md).

# Position

Make the recipe work only when the machine is placed at certain positions

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

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

It is used only to restrict or allow the usage of a recipe at certain positions of the world.

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

### Properties

The position requirement has 1 mandatory property and 3 optional properties.

#### Mandatory property

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

#### Optional property

<details>

<summary>X</summary>

#### Name : `x`

#### Description :&#x20;

A [range](/custom-machinery-1.21/misc/range.md) that define the valid positions on the X axis that the machine can process this recipe.

#### Default : `"*"`

Any X positions are allowed.

#### Example :&#x20;

```json
"x": "[,0)"
```

The recipe will run only if the machine is in negative coordinates in the X axis.

</details>

<details>

<summary>Y</summary>

#### Name : `y`

#### Description :&#x20;

A [range](/custom-machinery-1.21/misc/range.md) that define the valid positions on the Y axis that the machine can process this recipe.

#### Default : `"*"`

Any Y positions are allowed.

#### Example :&#x20;

```json
"y": "[,0)"
```

The recipe will run only if the machine is in negative coordinates in the Y axis.

</details>

<details>

<summary>Z</summary>

#### Name : `z`

#### Description :&#x20;

A [range](/custom-machinery-1.21/misc/range.md) that define the valid positions on the Z axis that the machine can process this recipe.

#### Default : `"*"`

Any Z positions are allowed.

#### Example :&#x20;

```json
"z": "[,0)"
```

The recipe will run only if the machine is in negative coordinates in the Z axis.

</details>

### Example

A position requirement that will allow the recipe to run only if the machine is higher than the 128 y layer :

```json
{
    "type": "custommachinery:position",
    "y": "(128,)"
}
```
