> For the complete documentation index, see [llms.txt](https://lethium.gitbook.io/lethium-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lethium.gitbook.io/lethium-docs/gameplay/gems-shop.md).

# Gems Shop

The Gems premium shop: ranks, crate keys, boosts, global booster, Season Pass, Key Party and auto-clicker.

File: `plugins/ClickEmCore/modules/gemsshop.yml`. Module id: `gemsshop`. Commands: `/gemsshop`, `/gems`, `/gshop`, `/gemshop`.

{% hint style="success" %}
**Quick start**

* Change a price: the number in `gemsshop.yml`.
* Give Gems: `/ceadmin economy give <player> <amount> gems`.
* Every rank id must exist in `vip-perks.yml`, every key id in ExcellentCrates.
  {% endhint %}

Gems are the **premium currency**. They are scarce on purpose. Ways a player gets Gems:

* VIP ranks drip `gems-per-minute` (Supreme and above, see [VIP Perks](/lethium-docs/gameplay/vip-perks.md)),
* Rebirth pays Gems (see [Rebirth](/lethium-docs/gameplay/rebirth.md)),
* Profile Level milestones, quests and the Season Pass,
* **your webstore** selling Gems directly. ClickEm takes no real money. You sell Gems or give them with `/ceadmin economy give <player> <amount> gems`.

`/gemsshop` opens a category menu. Every price, icon and quantity is a config edit.

### The seven tabs

| Tab             | Key               | What it sells                                                                                                                                                                                                                                                                        |
| --------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Ranks           | `ranks`           | The same tiers as [VIP Perks](/lethium-docs/gameplay/vip-perks.md). `permanent-cost` grants the tier for real through LuckPerms. `temporary` maps **days to cost** and grants `clickem.vip.<tier>` for that many days using LuckPerms `settemp`, stacking with time already granted. |
| Crate Keys      | `crate-keys`      | Real ExcellentCrates keys. The id must be a real crate id (`starter`, `hero`, `celestial`, `afk`, `vote`, `cosmetic`, `grandcosmetic`). `cost` is per key. Shift-click buys `crate-keys-bulk-amount` (10).                                                                           |
| Personal Boosts | `personal-boosts` | Boost ids from `boosts.yml`. Buying one just activates it, so requirements, cooldown and daily caps still apply.                                                                                                                                                                     |
| Global Booster  | `global-boost`    | One server-wide event (`gems_global_boost` in `events.yml`) for everyone online, for the paid `durations` (minutes: cost). Refused while already active.                                                                                                                             |
| Season Pass     | `seasonpass`      | `premium-cost` grants the premium track. `level-bundle` adds levels of XP.                                                                                                                                                                                                           |
| Key Party       | `keyall`          | One purchase gives **every online player** a key, with a chat broadcast naming the buyer. `cooldown-seconds` (3600) is a server-wide cooldown shared by all offers.                                                                                                                  |
| Auto-Clicker    | `autoclicker`     | A permanent +1 concurrent auto-attack target per world. Needs that world unlocked. World 1 is not sold.                                                                                                                                                                              |

```yaml
ranks:
  vip:
    permanent-cost: 4000
    temporary:
      14: 650
      31: 1200
keyall:
  cooldown-seconds: 3600
  offers:
    starter:
      amount: 1
      cost: 6000
```

{% hint style="warning" %}
Every `ranks` id must match a tier in `vip-perks.yml`. Every `crate-keys` id must match a real ExcellentCrates crate. Gems Shop relies on LuckPerms `lp` commands for ranks, so LuckPerms must be installed.
{% endhint %}

### Staff commands

| Command                                              | Use                                                      |
| ---------------------------------------------------- | -------------------------------------------------------- |
| `/ceadmin gemsshop granttemp <player> <tier> <days>` | Gives a temporary rank instantly.                        |
| `/ceadmin gemsshop keyall <key> [amount]`            | Triggers a Key Party for free (skips cost and cooldown). |
| `/ceadmin gemsshop resetcooldown`                    | Clears the Key Party cooldown.                           |
| `/ceadmin events stop gems_global_boost`             | Ends the global booster early.                           |

### How to

* **Change a price:** edit the number and run `/clickem module reload gemsshop`.
* **Add a rank duration:** add a line under `temporary`, for example `7: 350`.
* **Hide a tab:** delete its section (the menu sizes itself).
* **Add a new key to sell:** the crate id must exist in ExcellentCrates. Add it under `crate-keys` with a `cost`.

The `state:` block at the bottom is runtime data (cooldown timers). Do not edit it by hand.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://lethium.gitbook.io/lethium-docs/gameplay/gems-shop.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
