# Shop

The shop is where players buy unlocks.

It is not the equip menu.

## Config file

* `config/dawncosmetics/menus/shop_menu.json`

## Quick Start

{% stepper %}
{% step %}
Run `/cosmetics shop`
{% endstep %}

{% step %}
Set `default_currency`
{% endstep %}

{% step %}
Add one category
{% endstep %}

{% step %}
Set one price
{% endstep %}

{% step %}
Run `/cosmetics reload`
{% endstep %}
{% endstepper %}

## What Happens When A Player Buys Something

{% stepper %}
{% step %}
The player opens the shop
{% endstep %}

{% step %}
DawnCosmetics loads cosmetics from your category files
{% endstep %}

{% step %}
The final price is worked out
{% endstep %}

{% step %}
The economy mod checks balance
{% endstep %}

{% step %}
If the purchase works, the unlock is saved in `data/players.json`
{% endstep %}
{% endstepper %}

## Top Level Fields

* `id`
* `title`
* `rows`
* `default_currency`
* `default_currency_id`
* `default_price`
* `default_rarity`
* `grant_commands`
* `rarities`
* `categories`
* `filler`
* `filler_slots`

## Category Fields

* `id`
* `title`
* `rows`
* `main_slot`
* `icon`
* `main_icon`
* `default_currency`
* `default_currency_id`
* `default_price`
* `default_rarity`
* `sort_by`
* `sort_desc`
* `search_item`
* `search_slot`
* `filter_item`
* `filter_slot`
* `back_item`
* `back_slot`
* `previous_item`
* `previous_slot`
* `next_item`
* `next_slot`
* `items`
* `grant_commands`
* `filler`
* `filler_slots`

## Cosmetic Override Fields

Inside `categories[].items[]` you can override:

* `id`
* `price`
* `currency`
* `currency_id`
* `rarity`
* `slot`
* `display`
* `grant_commands`
* `enabled`

## Price Order

Highest priority to lowest:

1. `categories[].items[].price`
2. cosmetic entry `price`
3. category `default_price`
4. global `default_price`

Final price uses the rarity multiplier.

## Economy Mods

These work when the matching mod is installed:

* `Impactor`
* `BEconomy`
* `CobbleDollars`
* `UltraEconomy`

## Command Placeholders

You can use these inside `grant_commands`:

* `%player%`
* `%uuid%`
* `%permission%`
* `%cosmetic_id%`
* `%cosmetic_name%`
* `%category%`
* `%price%`
* `%currency%`

## Keep It Easy

Start with one currency, one category, and one item override.

Once that works, add more.


---

# 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/shop.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.
