> For the complete documentation index, see [llms.txt](https://docs.nexomc.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nexomc.com/mechanics/furniture-mechanic/door-mechanic.md).

# Door Mechanic

Nexo lets you make a furniture that will act as a door.\
You can also specify a few extra options for additional behaviour:

**toggle\_hitbox\_on\_open** - Changes the hitbox from barriers to interactions when opened\
**open\_sound -** The sound to play when opening the door\
**close\_sound -** The sound to play when closing the door\
**open\_properties - T**he same as [Furniture Properties](/mechanics/furniture-mechanic.md#furniture-properties), but only applied in open-state\
**is\_sliding -** If the door is sliding type or normal type\
**automatic\_close\_delay -** A duration of time before the door will close when opened (1t, 2s, 3m, etc...)\
**delay\_hitbox\_toggle -** If the swap to non-solid hitbox should be delayed until door is fully opened

There is also a new **delay-property** which defines the "time to open" for the door.\
If left unspecified, the door immediatly changes state

There is also two types of doors, normal and sliding. A sliding door opens by applying the open\_properties transformations, whilst a normal door applies a rotation

**Config Examples:**

{% columns fullWidth="true" %}
{% column width="50%" %}
{% code fullWidth="false" %}

```yaml
large_wooden_door:
  itemname: Large Wooden Door
  Pack:
    model: nexo:item/nexo_furniture/large_wooden_door
  Mechanics:
    furniture:
      limited_placing:
        floor: true
      hitbox:
        barriers: 0..1,0..2,0
      block_sounds:
        place_sound: block.wood.place
        break_sound: block.wood.break
      properties:
        translation: 0,1,0
        delay: 4t
      door:
        open_sound: block.wooden_door.open
        close_sound: block.wooden_door.close
        toggle_hitbox_on_open: true
        open_properties:
          translation: -0.85,1,0
```

{% endcode %}
{% endcolumn %}

{% column width="50%" %}
{% code fullWidth="true" %}

```yaml
large_wooden_sliding_door:
  itemname: Large Wooden Sliding Door
  Pack:
    model: nexo:item/nexo_furniture/large_wooden_door
  Mechanics:
    furniture:
      limited_placing:
        floor: true
      hitbox:
        barriers: 0..1,0..2,0
      block_sounds:
        place_sound: block.wood.place
        break_sound: block.wood.break
      properties:
        translation: 0,1,0
        delay: 4t
      door:
        is_sliding: true
        open_sound: block.wooden_door.open
        close_sound: block.wooden_door.close
        toggle_hitbox_on_open: true
        open_properties:
          translation: -1.5,1,0
```

{% endcode %}
{% endcolumn %}
{% endcolumns %}

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTAoAxayP9PrBtX9UQ5wa%2Fuploads%2Fs8AfcHvnoLucixCBnQlR%2F2025-08-19%2015-57-54.mp4?alt=media&token=cc47ff3d-876b-46a0-8c02-ec72d214423f>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.nexomc.com/mechanics/furniture-mechanic/door-mechanic.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
