# Commands

## `/padv gui`

Opens the main advancement GUI where players can view their progress, browse
custom advancements, and manage vanilla advancement broadcasts.

- Shift-click any advancement to open the edit GUI (staff)
- Left-click a vanilla tab to view and set per-advancement broadcasts

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv give <player> <advancement>`

Grants a custom advancement to a player. The advancement must exist in the
plugin's configuration.

### Aliases

`grant`, `complete`

### Examples

- `/padv give Notch mine_100_blocks`
- `/padv grant Notch diamond_hunter`

### Permission

`premiumadvancements.give` (default: `op`)

---

## `/padv take <player> <advancement|all>`

Removes a custom advancement from a player. Use `all` to reset every
advancement for that player.

### Examples

- `/padv take Notch mine_100_blocks`
- `/padv take Notch all`

### Permission

`premiumadvancements.take` (default: `op`)

---

## `/padv list [player]`

Lists all completed custom advancements by ID. If no player is specified,
shows your own completions.

### Aliases

`completions`

### Permission

- Self: `premiumadvancements.list` (default: `true` - everyone)
- Others: `premiumadvancements.list.others` (default: `op`)

---

## `/padv stats [player]`

Shows the advancement statistics for a player. Displays completed
advancements, in-progress advancements with percentages, and totals.

If no player is specified, shows your own stats.

### Permission

- Self: `premiumadvancements.stats` (default: `true` - everyone)
- Others: `premiumadvancements.stats.others` (default: `op`)

---

## `/padv info <id>`

Displays detailed information about a specific advancement: ID, title,
description, trigger type, amount, tab, sound, display coordinates, and
available PlaceholderAPI placeholders.

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv playtime [player]`

Shows the total playtime of a player. Playtime is tracked by the
`PLAYTIME` trigger and persists across sessions.

If no player is specified, shows your own playtime.

### Permission

None - always available

---

## `/padv loginstreak [player]`

Shows the current login streak of a player. A consecutive day counts when
the player has logged in at least once during each 24-hour period
(midnight to midnight, server timezone).

If no player is specified, shows your own streak.

### Permission

None - always available

---

## `/padv setplaytime <player> <minutes>`

Sets a player's total playtime to the specified number of minutes.
Useful for migration or administrative adjustments.

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv setloginstreak <player> <days>`

Sets a player's login streak to the specified number of days.

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv reload`

Reloads the plugin configuration, advancements, language files, and
webhook configuration. All online players will have their advancement
UI re-shown after the reload completes.

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv editor`

Generates a one-time web editor URL with a session token. Opens the
web-based advancement management interface where you can create, edit,
and organize advancements visually.

Run `/padv apply <token>` on the server to download and apply your changes.

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv apply <token> [--force]`

Downloads and applies advancement data from a web editor session. The
token is obtained from the web editor's "Apply" page.

Use `--force` to apply an expired session.

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv editor-trust <code>`

Trusts a new device for web editor access. The code is displayed on the
web editor's trust verification screen.

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv tabs`

Lists all advancement tabs (both custom and vanilla) with their
namespaces, display names, and advancement counts.

### Permission

`premiumadvancements.admin` (default: `op`)

---

## `/padv placeholders`

Shows all available PlaceholderAPI placeholders provided by the plugin.

### Permission

None - always available

---

## `/padv wiki`

Opens a link to the plugin's online documentation/wiki.

### Permission

None - always available

---

## `/padv`

Without arguments, shows the help menu listing all available commands
with brief descriptions.

### Permission

None - always available

---

## Permission Summary

| Permission                         | Default | Description                                                          |
|------------------------------------|:-------:|----------------------------------------------------------------------|
| `premiumadvancements.admin`        |  `op`   | GUI, `/padv reload`, editor, tabs, info, setplaytime, setloginstreak |
| `premiumadvancements.give`         |  `op`   | `/padv give` / `grant` / `complete`                                  |
| `premiumadvancements.take`         |  `op`   | `/padv take`                                                         |
| `premiumadvancements.list`         | `true`  | `/padv list` (own completions)                                       |
| `premiumadvancements.list.others`  |  `op`   | `/padv list <player>`                                                |
| `premiumadvancements.stats`        | `true`  | `/padv stats` (own stats)                                            |
| `premiumadvancements.stats.others` |  `op`   | `/padv stats <player>`                                               |

!!!secondary **Note on `.admin`**
The `premiumadvancements.admin` permission is the master key: it grants access
to the advancement management GUI (`/padv gui`), all plugin reload operations,
the web editor, and administrative commands. It does **not** automatically grant
`give` or `take` - those use separate permission nodes for granular control.
!!!
