# Bow

The bow animates as you pull it, this allows you to have a single texture/model for each of these states.

{% hint style="warning" %}
It is very important to set the textures to your bow item that should have set them to avoid problem with missing texture:

<img src="/files/4WVdARTiTfYDpXeAdU9x" alt="" data-size="original">
{% endhint %}

To use the status textures, you need to add suffixes to your model filename or texture.

If you plan to use textures (png) you had to set `generate: true`.\
If you plan to use models (json) you have to set `generate: false`, as you already have the models.

## Suffixes for items

* `BOW`
  * `_0` - First pulling state.
  * `_1` - Second pulling state.
  * `_2` - Third pulling state.
* `FISHING_ROD`
  * `_cast` - Shows a fishing rod when it is cast.
* `SHIELD`
  * `_blocking` - Shows a shield model when you are blocking with it.
* `BUNDLE`
  * `_filled` - Displays a bundle when it is filled.

## Adding item states using suffixes (bow)

Firstly you need to create three pulling states for our bow.

![](/files/ZTsgKgbHJ1wla4UIWS7I)

Save them, drop to the directory where is your original bow texture and add suffixes to your textures like this:

I put them into `contents/myitems/textures/item/` folder of my resourcepack.

<div align="left"><img src="/files/wzh4JxZ3N9xIbYTjd7gM" alt=""></div>

{% hint style="info" %}
Suffixes also work on model names (json).\
I put them into `contents/myitems/models/item/` folder of my resourcepack.

<img src="/files/ZSwHS9tTFKleNt85QNOe" alt="" data-size="original">
{% endhint %}

{% tabs %}
{% tab title="Modern (Recommended)" %}

```yaml
items:
  ruby_bow:
    name: Example Ruby Bow
    material: BOW
    graphics:
      textures:
        normal: item/bows/ruby_bow
        pulling_0: item/bows/ruby_bow_0
        pulling_1: item/bows/ruby_bow_1
        pulling_2: item/bows/ruby_bow_2
```

{% endtab %}

{% tab title="Old (1.21.3 and lower)" %}

```yaml
items:
  ruby_bow:
    display_name: Example Ruby Bow
    resource:
      material: BOW
      generate: true
      textures:
        - item/bows/ruby_bow
```

{% endtab %}
{% endtabs %}

## Done

You have working bow with item states.

![](/files/sfS6K5B0WhYpHczojIHu)


---

# 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/items/bow.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.
