# Add New Content

### Fast Flow

1. Pick the cosmetic type
2. Pick a clean ID like `ruby_crown` or `traveler_pack`
3. Add the cosmetic entry in `config/dawncosmetics/cosmetics/`
4. Add the model and texture files in `config/dawncosmetics/assets/resourcepack/`
5. Add or check the matching entry in `config/dawncosmetics/assets/resourcepack/items.json`
6. Run `/cosmetics reload`
7. If you changed pack files, run `/cosmetics reload pack`
8. If Polymer is serving the pack, run `/polymer generate-pack reload`

### Pick The Right File

| Cosmetic   | Config file                                                                                             |
| ---------- | ------------------------------------------------------------------------------------------------------- |
| Hat        | `config/dawncosmetics/cosmetics/hats.json`                                                              |
| Backpack   | `config/dawncosmetics/cosmetics/backpacks.json`                                                         |
| Balloon    | `config/dawncosmetics/cosmetics/balloons.json`                                                          |
| Offhand    | `config/dawncosmetics/cosmetics/offhands.json`                                                          |
| Item skin  | `config/dawncosmetics/cosmetics/item_skins.json`                                                        |
| Spray      | `config/dawncosmetics/cosmetics/sprays.json`                                                            |
| Particle   | `config/dawncosmetics/cosmetics/particles.json`                                                         |
| Armor skin | `config/dawncosmetics/cosmetics/armor_items.json` and `config/dawncosmetics/cosmetics/armor_skins.json` |

### Small Hat Example

Add this to `config/dawncosmetics/cosmetics/hats.json`

```json
{
  "hats": {
    "ruby_crown": {
      "name": "Ruby Crown",
      "permission": "dawncosmetics.hat.ruby_crown",
      "item": "minecraft:golden_helmet",
      "model_data": 9101,
      "price": 2500,
      "rarity": "epic"
    }
  }
}
```

Use fields; `item` or `icon` when you need lore, color, components, or a different menu icon

```json
{
  "name": "Ruby Crown",
  "icon": {
    "item": "minecraft:golden_helmet",
    "model_data": 9101
  },
  "item": {
    "item": "minecraft:golden_helmet",
    "model_data": 9101,
    "lore": [
      "<gold>A shiny little flex"
    ]
  }
}
```

### Pack Files

Put the model and texture under the resource pack source folder

```
config/dawncosmetics/assets/resourcepack/
|- assets/
|  `- dawncosmetics/
|     |- models/item/hats/ruby_crown.json
|     `- textures/item/hats/ruby_crown.png
`- items.json
```

Then map the cosmetic model in `config/dawncosmetics/assets/resourcepack/items.json`

```json
{
  "dawncosmetics:hats/ruby_crown": {
    "item": "minecraft:golden_helmet",
    "model_data": 9101
  }
}
```

The `item` and `model_data` should match the cosmetic config unless you are doing something advanced on purpose

### Backpack Notes

Backpacks can have a normal model and a first person model

For a backpack id like `traveler_pack`, the first person model usually uses the `_first_person` suffix

```
assets/dawncosmetics/models/item/backpacks/traveler_pack.json
assets/dawncosmetics/models/item/backpacks/traveler_pack_first_person.json
```

If first person looks wrong, check that both files exist and that the backpack config points at the right item and model data

### Armor Skin Flow

Armor has two config layers

1. Add each wearable piece in `armor_items.json`
2. Add the full set in `armor_skins.json`
3. Point the set slots at the ids from `armor_items.json`
4. Add the pack visuals and `items.json` mappings
5. Reload config and pack

Do not mix these files up

`armor_items.json` is for armor piece definitions

`assets/resourcepack/items.json` is for resource pack item and model data mappings

### Shop Flow

If the cosmetic should be sold, include the shop fields on the cosmetic entry

```json
{
  "price": 2500,
  "rarity": "epic"
}
```

### Reload Commands

Run these after config and pack edits

```
/cosmetics reload
/cosmetics reload pack
/polymer generate-pack reload
```

Use the Polymer command when Polymer is generating or serving the live pack


---

# 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://dawnshade.gitbook.io/dawnshade-docs/docs/dawn-cosmetics/summary/add-new-content.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.
