> For the complete documentation index, see [llms.txt](https://vitalo.gitbook.io/vitalo/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vitalo.gitbook.io/vitalo/customization/hearts/changing-textures.md).

# Changing Textures

## Changing Textures

If you wish to change the textures, head over to the resource pack and find this folder. It is the default location for all health bar images.

`assets\minecraft\textures\custom\hearts\*`&#x20;

To change out the textures, just replace the files inside, making sure that the names and image sizes still match, with your own textures. Remember, the size of the image is important, you need to make sure that the size of the image is the same, or else it wont display correctly.&#x20;

For hearts, there are 5 different types; normal, frozen, poisoned, withered, and absorption. Each one can be changed individually by changing the texture found in their corresponding folders.

Hearts are also animated. There are two types of hearts, overlay and normal. The overlay hearts are shown during the animation to show the damage. There are overlay and normal hearts for each of the different types of hearts.

### Changing Texture Size

If you wish to use a different size, you will need to adjust the `default.json` found at:

`assets\minecraft\font\default.json`

The default unicode replacement JSON is attached below. If you wish to change out the sizing, then change the `height` value to be the height of the file, and then adjust the [ascent ](#user-content-fn-1)[^1]as needed. If you change any of the unicode values, make sure to change it in the config as well. Here are the values in the `default.json` for a normal heart:

{% code title="default.json" %}

```json
{"type": "bitmap", "file": "minecraft:custom/hearts/empty/0.png", "ascent": 9, "height": 9, "chars": ["\uE013"]},
{"type": "bitmap", "file": "minecraft:custom/hearts/empty/1.png", "ascent": 9, "height": 9, "chars": ["\uE020"]},
{"type": "bitmap", "file": "minecraft:custom/hearts/normal/0_5.png", "ascent": 9, "height": 9, "chars": ["\uE014"]},
{"type": "bitmap", "file": "minecraft:custom/hearts/normal/1.png", "ascent": 9, "height": 9, "chars": ["\uE015"]},
{"type": "bitmap", "file": "minecraft:custom/hearts/normal/overlay/0.png", "ascent": 9, "height": 9, "chars": ["\uE016"]},
{"type": "bitmap", "file": "minecraft:custom/hearts/normal/overlay/0_5.png", "ascent": 9, "height": 9, "chars": ["\uE017"]},
{"type": "bitmap", "file": "minecraft:custom/hearts/normal/overlay/1.png", "ascent": 9, "height": 9, "chars": ["\uE018"]},
{"type": "bitmap", "file": "minecraft:custom/hearts/normal/overlay/1_5.png", "ascent": 9, "height": 9, "chars": ["\uE019"]},
```

{% endcode %}

If you adjusted the texture size, you will also need to change the spacing. Within Vitalo, there are "negative" spaces, which move the images closer to each other, as by default Minecraft puts a space in between. If the texture size has been changed, you will need to also the spacing as well. Spaces are defined like the following, with the `height` being the width of the space in pixels. Here is an example:

{% code title="default.json" %}

```json
{"type": "bitmap", "file": "minecraft:custom/spacing/space_split.png", "ascent": -32768, "height": -6, "chars": ["\uF012"]},
```

{% endcode %}

Do not change the images or the ascent of spaces, as it requires a special value for both to work properly. You should also not need to change the unicode characters of this either. However, if you do, make sure to change them in the config as well.

### Adjusting Config

Once you have changed the textures, make your way over the config file. You should not need to edit this unless you have changed the unicode characters as mentioned above. The way Vitalo works is by replacing unicode characters with images. These values in the config tell the plugin which characters are what. Here is an example of the config for normal hearts:

{% code title="config.yml" %}

```yaml
unicode:
  hearts:
    normal:
      HALF_HEART: "\uE010"
      FULL_HEART: "\uE011"
      flashing:
        FULL_OVERLAY_HEART: "\uE012"
        FIRST_HALF_OVERLAY_HEART: "\uE015"
        FIRST_HALF_NORMAL_SECOND_HALF_OVERLAY_HEART: "\uE013"
        FULL_HEART: "\uE014"
        EMPTY_HEART: "\uE016"
```

{% endcode %}

[^1]: Remember, ascent can only be as high as the texture is tall.


---

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

```
GET https://vitalo.gitbook.io/vitalo/customization/hearts/changing-textures.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.
