# Entity Creation

## Creating a new model

Create a new ItemsAdder entity model.

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

Set project type to `Custom Entity` and decide a `namespace` + `id`.

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

Immediately save the project into the **ItemsAdder** `contents` folder, under the **namespace** folder (in this example `mymobs`).

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

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

Start modelling!

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

Create some animations.\
You could follow some tutorials and learn to animate in Blockbench, there are a [lot of tutorials on Youtube](https://www.youtube.com/results?search_query=blockbench+animation+tutorial).

<figure><img src="/files/0x6Z78MAB79P4zr2R7ec" alt=""><figcaption></figcaption></figure>

Before exporting make sure that the settings are correct.

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

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

Export the model.

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

## Converting an existing model

{% hint style="danger" %}
Remember to make a <mark style="color:red;">**backup**</mark> of your `.bbmodel` file before using this tool!
{% endhint %}

Open your `.bbmodel` project with Blockbench, then click on File -> Convert Project

![](/files/Fi666qVthbPniVjPoAr1)

![](/files/te5ubfNqCctRomyp34Vw)

Select **`ItemsAdder Entity Model`** in the **Format** setting, then press **Confirm**.

Now save the new converted model file in a new folder where you will put only this file.

You will have something like that:

![](/files/Kq1gM9OzgVldpYo0ucTA)

### Saving the project

Now create a new folder inside `ItemsAdder/contents/`, which will be your namespace folder. For example mine is `custom`, so the path is `ItemsAdder/contents/custom/`.

Save the project file `.iaentitymodel` into your ItemsAdder namespace folder, in this example into `ItemsAdder/contents/custom/`.

### Configuring the model

Now you can configure your model based on your preferences. The ItemsAdder extension automatically decides some settings for you but you might need to change them.\
Click on the **ItemsAdder** tab and press **Settings**.

![](/files/HeY3sTgq8TTlJPhK6taK)

Here you have to decide a namespace for your custom entities.\
The default one is `custom`, but you should decide your own, for example `my_entities`, `hell_mobs`, `npcs`...

![](/files/zr64YvxwfQVg2NI2GS33)

The other thing you might need to change is the "**Model Scaling Mode**":

* Max Model size provides 7x7x7 block wide models but limits scaling to shrinking only.
* Max Scaling range provides shrinking and growing up to 3.125x in size, but limits the maximum model size to 3x3x3 blocks.

Change "**Max Model Size**" only if you have animated the size of some bones.

![](/files/O0a0cPZkiUlPKfaeu2Db)

### Export the model

Click on the **ItemsAdder** tab and press **Export**.

![](/files/HGr1OMLDHv3F9La1aZSd)

You should get a success message.

![](/files/gvL2qaajOITliRsNhKKg)

### Creating the ingame entity configuration

As you can see the extension created a file automatically, called `custom_entity_NAME.yml`. It will create it only on the first export.

You can customize it with more properties if needed.

{% code title="barman\_robot.yml" %}

```yaml
info:
  namespace: custom
entities:
  barman_robot:
    display_name: "Barman Robot"
    type: ZOMBIE
    model_folder: entity/barman_robot
    silent: true
    can_sun_burn: false
    speed:
      movement: 1
      flying: 0
    max_health: 20
      
```

{% endcode %}

In this example my custom entity will use a ZOMBIE as base entity for its AI.\
You can use any living entity as base entity, depending on your needs.

### Summoning the entity

Use the summon command: `/iaentity summon <entity>`

## Notes

{% hint style="info" %}
Do not create too many bones, keep the model simple, remember this is a blocky pixelated game, use [its style](https://www.blockbench.net/wiki/guides/minecraft-style-guide/).
{% endhint %}


---

# 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/entities/advanced-method.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.
