# Model

### Model file

Open **BlockBench** and create a *"Java Block/Item"*.

![](/files/yyfC1xRMCFuusjt3Eocs)

Create your model, in this example I'm modelling an ugly minimal modern lamp.

![](/files/X5C4bpQT4v8EEE70y4eV)

{% hint style="warning" %}
Important: make sure the north is opposite of where you want the model to face.

Or add the property to the YML configuration `opposite_direction: true`
{% endhint %}

Edit how the model is shown on player hand:

<figure><img src="/files/KV6wIxArAjoMCo21cRF2" alt=""><figcaption></figcaption></figure>

![](/files/YhhlKlwzAElN3R3QWH2n)

### Configure the in-game view

#### Using `armor_stand`

You have to select the **head icon** and then **small ArmorStand:**

![](/files/AqhlfxLoRHW0T4s5XXM4)

Then you have to shift your model down until it matches the **ArmorStand** base:

![](/files/B7nF0WToXtDqEcTfL8Dx)

#### Using `item_display`

{% hint style="success" %}
This mode has the best performance
{% endhint %}

Make sure to specify `HEAD` in your configuration.

```yaml
    behaviours:
      furniture:
        entity: item_display
        display_transformation:
          transform: HEAD
        gravity: false
        fixed_rotation: false
```

You have to select the **head icon** and then normal **ArmorStand**.

Then move the model until it's approximately like that. It will be close to the ground. You can later regenerate your pack to preview it in-game and move the model until it's in the correct position.

<figure><img src="/files/luG4lGZwkrQmDrSi11I0" alt=""><figcaption></figcaption></figure>

#### Using `item_frame`

Select *Frame* and *Invisible Top*.\
Adjust the model Z *Translation* (the blue arrow) until it matches the bottom of the white block perfectly.

<figure><img src="/files/7DehlHXNtlYSZq3UWNa4" alt=""><figcaption></figcaption></figure>

### Export the model

Now let's save the model file into the correct folder, in this case I set this property in the `.yml` configuration file: `model_path: lamp`, so you have to save the `.json` file inside this path: `contents/myitems/models/lamp.json`.

To achieve this, click on "File" followed by "Export Model" and finally "Export Block/Item Model". In the new window, head over to the path where you want to save your model, give it the correct name and confirm the changes.


---

# 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://itemsadder.devs.beer/adding-content/furnitures/model.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.
