# Model Interactions

## What Are Interaction Types?

Interaction Types allow you to add special behaviors to your custom models. This means players can do things like sit on a chair model, use a custom furnace, or open storage directly from your model.

#### Available Interaction Types:

* **SIT**: Allows players to sit on the model.
* **FURNACE**: Turns the model into a working furnace.
* **STORAGE**: Gives the model storage capabilities like a chest.
* **CRAFT**: Makes the model act as a crafting table.
* **ENDER\_CHEST**: Provides access to the player's Ender Chest.
* **COMMAND**: Executes a command when the model is interacted with.
* **CONSOLE\_COMMAND**: Executes a command from console (can use %player%)
* **LIGHT**: Create a toggleable light. Right click the model to turn it on and off.
* **REPLACE\_ITEM**: Create a replaceable displayed item in model (material must be AIR), will drop item when broken or replaced by another item

<div align="left"><figure><img src="https://i.imgur.com/YHzQJf0.png" alt=""><figcaption><p>Put a cooked steak</p></figcaption></figure> <figure><img src="https://i.imgur.com/eSDKO43.png" alt=""><figcaption><p>Right click with empty hand to remove</p></figcaption></figure> <figure><img src="https://i.imgur.com/sRGVP72.png" alt=""><figcaption><p>Or put anything else</p></figcaption></figure></div>

{% hint style="warning" %}
**Important Note**: You can assign **only one interaction** per model.
{% endhint %}

{% hint style="info" %}
There is a \~200 interactive models limit per chunk.&#x20;
{% endhint %}

## How to Use Interaction Types

#### General Guidelines

* **Assigning Interactions**: Interactions are assigned to specific parts of your model in Blockbench.
* **SIT Interaction**: The part you assign the `SIT` interaction to matters because players will sit on that exact part.
* **Other Interactions**: For interactions like `FURNACE`, `STORAGE`, etc., it doesn't matter which part you assign them to; interacting with any part will trigger the function.

## Examples

### Command Interaction

{% code lineNumbers="true" %}

```yaml
parts: 
  base: # Part name from model
    material: DEEPSLATE_BRICKS # Minecraft Material
    interaction: CONSOLE_COMMAND # Interaction type
    value: "msg %player% Hi" # Command, ran by console, allows %player% variable
```

{% endcode %}

### Light

{% code overflow="wrap" lineNumbers="true" %}

```yaml
parts: 
  light: # Usually light is an invisible part without textures, just sets actual light location
    interaction: LIGHT
```

{% endcode %}


---

# Agent Instructions: 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:

```
GET https://models.advancedplugins.net/models-and-guides/model-interactions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
