# Shop and cosmetics

URL: https://greenarrowlol.github.io/TNTGamesCore/docs/features/shop/
Section: features
Description: Coins or Vault money, particle trails, and double jumps for TNT Run.

---

> For a complete page index, fetch https://greenarrowlol.github.io/TNTGamesCore/llms.txt.

Players earn currency by playing and spend it on particle trails and double jumps.

Open the shop with `/tt shop` or the emerald in the lobby hotbar. Everything here lives in `shop.yml`. Run `/tt reload` after editing it.

## Currency

Pick one with `economy.type`:

| Type | What it uses |
| --- | --- |
| `coins` | Built-in coins saved in the plugin database (SQLite or MySQL). No other plugins needed. |
| `vault` | The server's money through [Vault](https://www.spigotmc.org/resources/vault.34315/). Needs Vault and an economy plugin such as EssentialsX. |

If `vault` is set but Vault or an economy plugin is missing, the plugin warns in the console and uses coins instead.

```yaml
economy:
  type: coins
  coin-name: 'coins'
  starting-coins: 0
```

### Earning

Every player still in the game when it ends gets the `play` reward. The winner also gets the `win` reward.

```yaml
rewards:
  win: 50
  play: 10
```

Players who leave before the end get nothing.

### Admin commands

```
/tt coins [player]                        Show a balance
/tt coins give <player> <amount>
/tt coins take <player> <amount>
/tt coins set <player> <amount>           Coins only, use your economy plugin with Vault
```

## Trails

Particles that follow a player while they move during a game. A player buys a trail once, then selects or removes it in the trails menu. Only one trail is active at a time.

```yaml
trail-settings:
  show-in-lobby: false

trails:
  flame:
    name: '&6Flame Trail'
    material: BLAZE_POWDER
    particle: FLAME
    amount: 2
    price: 250
  gold-dust:
    name: '&#FFD700Gold Dust Trail'
    material: GOLD_NUGGET
    particle: REDSTONE
    color: '255,200,0'
    amount: 3
    price: 750
    permission: 'tntgames.trail.gold'
```

| Field | Meaning |
| --- | --- |
| `name` | Display name in the menu. |
| `material` | Menu icon. |
| `particle` | Any Bukkit particle name. `REDSTONE` also reads `color: R,G,B`. |
| `amount` | Particles per step. |
| `price` | Cost. `0` makes the trail free for everyone. |
| `permission` | Optional. Players without it see the trail as locked. |

Six trails ship by default: flame, hearts, music notes, magic, gold dust, and souls.

## Double jumps

Double jumps are for TNT Run. Players buy them in packs and keep them stored. At the start of every TNT Run game each player gets up to `max-per-game` of their stored jumps. To jump, press space twice in the air. A feather in the hotbar shows how many are left.

Only jumps that are actually used are taken from the stored amount, so unused ones carry over to the next game. Landing after a double jump never causes fall damage.

```yaml
double-jump:
  enabled: true
  max-per-game: 3
  max-owned: 50
  item-slot: 4
  forward-power: 1.1
  upward-power: 0.9
  cooldown-seconds: 1
  packs:
    small:
      amount: 1
      price: 100
    medium:
      amount: 5
      price: 450
    large:
      amount: 10
      price: 800
```

The `feather` powerup also hands out extra double jumps. Those are used first and only last for that game. See [Powerups](/docs/features/powerups/).

## Shop item

The emerald given in the lobby:

```yaml
shop-item:
  enabled: true
  slot: 0
  material: EMERALD
  name: '&a&lShop &7(Right Click)'
```

Keep `slot` different from the selector slot in `config.yml`.

## Storage

Coins, stored double jumps, owned trails, and the selected trail are saved in the `player_shop` table of the same database as stats. See [Storage](/docs/configuration/storage/).

## Related

- [Powerups](/docs/features/powerups/)
- [Placeholders](/docs/reference/placeholders/): `%tntgames_coins%` and friends.
