> For the complete documentation index, see [llms.txt](https://jugandomiguel.gitbook.io/custom-resource-pack-geysermc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jugandomiguel.gitbook.io/custom-resource-pack-geysermc/custom-things/armors/helmet.md).

# Helmet

To create a custom helmet first open the file of your helmet, if you don't have the file go first go to [**your first custom armor**](/custom-resource-pack-geysermc/custom-things/armors/your-first-custom-armor.md). Remember the name can be to anything you want, example: `some_amazing_helmet.json`. If you came from [**your first custom armor**](/custom-resource-pack-geysermc/custom-things/armors/your-first-custom-armor.md) you should have the base code with that you need to fill the spaces:

```json
{
    "format_version": "1.8.0",
    "minecraft:attachable": {
        "description": {
            "identifier": "geyser_custom:the_identifier_of_my_armor_part",
            "materials": {
                "default": "armor",
                "enchanted": "armor_enchanted"
            },
            "textures": {
                "default": "textures/models/armor/some_amazing_texture_directory",
                "enchanted": "textures/misc/enchanted_item_glint"
            },
            "geometry": {
                "default": "(the next part change depending of which part of the armor is)"
            },
            "scripts": {
                "parent_setup": "(the next part change depending of which part of the armor is);"
            },
            "render_controllers": [
                "controller.render.armor"
            ]
        }
    }
}
```

In `"identifier": "geyser_custom:"` you need to add the identifier for your part of armor, remember this should be unique and you will need to remember it to create your [**custom mapping file**](/custom-resource-pack-geysermc/custom-mappings/create-the-mapping-file.md), so now with the identifier it should look like this

```json
{
    "format_version": "1.8.0",
    "minecraft:attachable": {
        "description": {
            "identifier": "geyser_custom:ice_helmet",
```

Then you need to specify the path of the model texture for the armor in `"textures": { "default": "" }`, <mark style="color:red;">**the texture for the helmet always is going to be the layer\_1**</mark>. When you specify the path it should look something like this

```json
{
    "format_version": "1.8.0",
    "minecraft:attachable": {
        "description": {
            "identifier": "geyser_custom:ice_helmet",
            "materials": {
                "default": "armor",
                "enchanted": "armor_enchanted"
            },
            "textures": {
                "default": "textures/models/armor/ice_layer_1",
```

Now we need to fill `"geometry": {}` and `"scripts": {}` with the next:

```json
            "geometry": {
                "default": "geometry.player.armor.helmet"
            },
            "scripts": {
                "parent_setup": "variable.helmet_layer_visible = 0.0;"
            },
```

With this your completed file should look like this

```json
{
    "format_version": "1.8.0",
    "minecraft:attachable": {
        "description": {
            "identifier": "geyser_custom:ice_helmet",
            "materials": {
                "default": "armor",
                "enchanted": "armor_enchanted"
            },
            "textures": {
                "default": "textures/models/armor/ice_layer_1",
                "enchanted": "textures/misc/enchanted_item_glint"
            },
            "geometry": {
                "default": "geometry.player.armor.helmet"
            },
            "scripts": {
                "parent_setup": "variable.helmet_layer_visible = 0.0;"
            },
            "render_controllers": [
                "controller.render.armor"
            ]
        }
    }
}
```

With this you can continue creating the custom mappings for your item

{% content-ref url="/pages/hkNlJHlG7RTDGOwkRSN1" %}
[Create the mapping file](/custom-resource-pack-geysermc/custom-mappings/create-the-mapping-file.md)
{% endcontent-ref %}
