# Commands & Permissions

## Commands & Permissions

This section details all available commands for EnchantCore-Premium and their associated permissions.

### Player Commands

These commands are generally available to all players, though some might have specific permission nodes for access.

```
/tokens
```

* **Description:** Checks your own token balance.
* **Usage:** `/tokens`
* **Permission:** `enchantcore.tokens.balance` (Default: true)

```
/sellall
```

* **Description:** Sells all items in your inventory that have a defined price in `autosell.yml`.
* **Usage:** `/sellall`
* **Permission:** `enchantcore.sellall` (Default: true, as per your latest `plugin.yml`)

```
/toggleenchantmessages
```

* **Aliases:** `/tem`, `/togglemsg` (as per your previous `messages.yml` structure, may need to confirm aliases in premium `plugin.yml` if different)
* **Description:** Toggles enchantment activation messages for yourself.
* **Usage:** `/toggleenchantmessages`
* **Permission:** `enchantcore.togglemessages.use` (Default: true)

```
/toggleenchantsounds
```

* **Aliases:** `/tes`, `/togglesound` (as per your previous `messages.yml` structure, may need to confirm aliases in premium `plugin.yml` if different)
* **Description:** Toggles enchantment activation sounds for yourself.
* **Usage:** `/toggleenchantsounds`
* **Permission:** `enchantcore.togglesounds.use` (Default: true)

### Admin Commands

These commands are intended for server administrators and typically require `enchantcore.admin` or specific sub-permissions.

#### Main Admin Command: `/enchantcore`

Aliases: `/ec`, `/ecore` (as per `plugin.yml`)

```
/enchantcore help
```

* **Description:** Displays a list of available admin subcommands for EnchantCore.
* **Permission:** `enchantcore.admin` (typically covers help) or a specific `enchantcore.admin.help`

```
/enchantcore reload
```

* **Description:** Reloads all EnchantCore configuration files (`config.yml`, `enchants.yml`, `pickaxe.yml`, `messages.yml`, `autosell.yml`).
* **Permission:** `enchantcore.admin` (or specific like `enchantcore.admin.reload`)

```
/enchantcore give <player>
```

* **Description:** Gives the specified online player a default EnchantCore pickaxe based on `pickaxe.yml` settings (including first join enchantments if defined and applicable, though usually a base pickaxe).
* **Usage:** `/enchantcore give <playerName>`
* **Permission:** `enchantcore.admin` (or specific like `enchantcore.admin.give`)

```
/enchantcore givemax <player>
```

* **Description:** Gives the specified online player an EnchantCore pickaxe with all enabled enchantments set to their maximum levels as defined in `enchants.yml`, and the pickaxe itself set to its maximum level defined in `pickaxe.yml`.
* **Usage:** `/enchantcore givemax <playerName>`
* **Permission:** `enchantcore.admin` (or specific like `enchantcore.admin.givemax`)

```
/enchantcore setlevel <player> <level>
```

* **Description:** Sets the EnchantCore pickaxe level for the specified player (online or offline). This also updates their blocks mined count to the amount required to reach that level. If the player is online and holding an EnchantCore pickaxe, the item will be updated.
* **Usage:** `/enchantcore setlevel <playerName> <levelNumber>`
* **Permission:** `enchantcore.admin` (or specific like `enchantcore.admin.setlevel`)

```
/enchantcore addblocks <player> <amount>
```

* **Description:** Adds the specified amount of blocks to the player's (online or offline) total blocks mined count for their EnchantCore pickaxe. This can trigger level-ups. If the player is online and holding an EnchantCore pickaxe, the item will be updated.
* **Usage:** `/enchantcore addblocks <playerName> <amount>`
* **Permission:** `enchantcore.admin` (or specific like `enchantcore.admin.addblocks`)

***

#### Admin Token Commands: `/tokens`

Aliases: `/token`, `/tk` (as per `plugin.yml`)

```
/tokens balance [player]
```

* **Description:** Checks the token balance. If `[player]` is specified, checks that player's balance; otherwise, checks your own if you are a player.
* **Usage:** `/tokens balance` OR `/tokens balance <playerName>`
* **Permissions:**
  * `enchantcore.tokens.balance` (for own balance - Default: true)
  * `enchantcore.tokens.balance.others` (to check other players - Default: op)

```
/tokens give <player> <amount>
```

* **Description:** Gives a specified amount of tokens to an online or offline player.
* **Usage:** `/tokens give <playerName> <amount>`
* **Permission:** `enchantcore.tokens.modify.give` (Default: op)

```
/tokens take <player> <amount>
```

* **Aliases:** `/tokens remove <player> <amount>`
* **Description:** Takes a specified amount of tokens from an online or offline player.
* **Usage:** `/tokens take <playerName> <amount>`
* **Permission:** `enchantcore.tokens.modify.take` (Default: op)

```
/tokens set <player> <amount>
```

* **Description:** Sets an online or offline player's token balance to a specific amount.
* **Usage:** `/tokens set <playerName> <amount>`
* **Permission:** `enchantcore.tokens.modify.set` (Default: op)

```
/tokens help
```

* **Description:** Shows help for the `/tokens` command.
* **Permission:** `enchantcore.tokens.balance` (or a general help permission if separate)

### Permissions List

Below is a summary of permissions used by EnchantCore-Premium.

* `enchantcore.admin`
  * **Description:** Grants access to all `/enchantcore` admin subcommands and all `/tokens` admin subcommands.
  * **Default:** `op`
* `enchantcore.gui.open`
  * **Description:** Allows opening the EnchantCore GUI by right-clicking the pickaxe.
  * **Default:** `true`
* `enchantcore.sellall`
  * **Description:** Allows usage of the `/sellall` command.
  * **Default:** `true` (as per your latest `plugin.yml`)
* `enchantcore.autosell`
  * **Description:** Allows the AutoSell feature to function for the player (if enabled in `config.yml`).
  * **Default:** `true`
* `enchantcore.autopickup`
  * **Description:** Allows the AutoPickup feature to function for the player (if enabled in `config.yml`).
  * **Default:** `true`
* `enchantcore.togglemessages.use`
  * **Description:** Allows usage of the `/toggleenchantmessages` command.
  * **Default:** `true`
* `enchantcore.togglesounds.use`
  * **Description:** Allows usage of the `/toggleenchantsounds` command.
  * **Default:** `true`
* `enchantcore.tokens.balance`
  * **Description:** Allows checking own token balance using `/tokens` or `/tokens balance`.
  * **Default:** `true`
* `enchantcore.tokens.balance.others`
  * **Description:** Allows checking other players' token balances using `/tokens balance <player>`.
  * **Default:** `op`
* `enchantcore.tokens.modify.*`
  * **Description:** Grants access to all token modification subcommands (`give`, `take`, `set`).
  * **Default:** `op`
  * **Children (auto-granted if parent is granted):**
    * `enchantcore.tokens.modify.give`: true
    * `enchantcore.tokens.modify.take`: true
    * `enchantcore.tokens.modify.set`: true
* `enchantcore.tokens.modify.give`
  * **Description:** Allows giving tokens using `/tokens give <player> <amount>`.
  * **Default:** `op`
* `enchantcore.tokens.modify.take`
  * **Description:** Allows taking tokens using `/tokens take <player> <amount>`.
  * **Default:** `op`
* `enchantcore.tokens.modify.set`
  * **Description:** Allows setting a player's token balance using `/tokens set <player> <amount>`.
  * **Default:** `op`

*(Note: Default values are based on typical Spigot plugin.yml configurations. "op" means server operators have it by default, "true" means all players have it by default, "false" means no one has it by default unless explicitly granted).*


---

# 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://coziest-room.gitbook.io/coziest-docs/enchantcore/commands-and-permissions.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.
