# Commands & Permissions

{% hint style="warning" %}
**Legend:**

* `<arg>` = Required argument.
* `[arg]` = Optional argument.
* `#ID` = A unique 6-character code assigned to every punishment (e.g., `#A1B2C3`).
  {% endhint %}

***

### ⚖️ Punishment System

These commands handle the core disciplinary actions against players. You can execute them directly or use the GUI.

#### **General Punishment**

<table><thead><tr><th width="130">Command</th><th width="347">Usage</th><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td><strong>Punish Menu</strong></td><td><code>/punish &#x3C;player></code></td><td><code>crown.use</code></td><td>Opens the main punishment GUI for a specific player.</td></tr><tr><td><strong>Unpunish</strong></td><td><code>/unpunish &#x3C;player/#ID> &#x3C;type> [reason]</code></td><td><em>See below</em></td><td>Removes a punishment by player name or Punishment ID.</td></tr></tbody></table>

#### **Direct Punishments**

All direct commands follow the format: `/command <player> [time] [reason]`. *Time is not required for Kicks, Warns, or Freezes.*

<table><thead><tr><th width="91">Type</th><th width="121">Command</th><th width="208">Permission Node</th><th width="215">Unpunish Node</th></tr></thead><tbody><tr><td><strong>Ban</strong></td><td><code>/ban</code></td><td><code>crown.punish.ban</code></td><td><code>crown.unpunish.ban</code></td></tr><tr><td><strong>Mute</strong></td><td><code>/mute</code></td><td><code>crown.punish.mute</code></td><td><code>crown.unpunish.mute</code></td></tr><tr><td><strong>Kick</strong></td><td><code>/kick</code></td><td><code>crown.punish.kick</code></td><td>N/A</td></tr><tr><td><strong>Warn</strong></td><td><code>/warn</code></td><td><code>crown.punish.warn</code></td><td><code>crown.unpunish.warn</code></td></tr><tr><td><strong>Softban</strong></td><td><code>/softban</code></td><td><code>crown.punish.softban</code></td><td><code>crown.unpunish.softban</code></td></tr><tr><td><strong>Freeze</strong></td><td><code>/freeze</code></td><td><code>crown.punish.freeze</code></td><td><code>crown.unpunish.freeze</code></td></tr></tbody></table>

{% hint style="info" %}
**Note:** To unpunish, you can use specific aliases (e.g., `/unban`, `/unmute`) or the master command `/unpunish`.
{% endhint %}

***

#### **Chat**

| Command         | Usage                 | Permission    | Description                                                         |
| --------------- | --------------------- | ------------- | ------------------------------------------------------------------- |
| **Freeze Chat** | `/fchat <player/#ID>` | `crown.fchat` | Toggle visibility/participation in a specific frozen player's chat. |
| **Check ID**    | `/check <#ID>`        | `crown.check` | View detailed info about a specific punishment ID.                  |

***

### 📋 Utility

Utilities for investigating players and viewing history.

| Command     | Usage               | Permission      | Description                       |
| ----------- | ------------------- | --------------- | --------------------------------- |
| **History** | `/history <player>` | `crown.history` | View a player's past punishments. |

***

### 🛑 Bypass Permissions

Assign these permissions to prevent staff or specific ranks from being punished.

| Permission Node        | Description                  |
| ---------------------- | ---------------------------- |
| `crown.bypass.ban`     | Player cannot be banned.     |
| `crown.bypass.mute`    | Player cannot be muted.      |
| `crown.bypass.kick`    | Player cannot be kicked.     |
| `crown.bypass.warn`    | Player cannot be warned.     |
| `crown.bypass.softban` | Player cannot be softbanned. |
| `crown.bypass.freeze`  | Player cannot be frozen.     |

***

### ⚙️ Administrative & Misc Permissions

Permissions for plugin administration and specific feature visibility.

<table><thead><tr><th width="246">Permission Node</th><th width="463">Description</th></tr></thead><tbody><tr><td><code>crown.admin</code></td><td>Access to <code>/crown reload</code> to reload configuration files.</td></tr><tr><td><code>crown.use</code></td><td>Basic access to the <code>/crown</code> base command and tab completion.</td></tr><tr><td><code>crown.fchat</code></td><td>Automatically see messages sent by frozen players.</td></tr></tbody></table>

***

#### 📂 Full Permission Tree (Raw)

For advanced users setting up LuckPerms or similar plugins, here is the raw hierarchy:

```yaml
crown.*
├── crown.use
├── crown.admin
├── crown.check
├── crown.history
├── crown.profile                      (Registered but not used in this version)
│   └── crown.profile.editinventory    (Registered but not used in this version)
├── crown.locker.admin                 (Registered but not used in this version)
├── crown.fchat
├── crown.mod.use                      (Registered but not used in this version)
├── crown.mod.seevanish                (Registered but not used in this version)
├── crown.punish.*
│   ├── .ban
│   ├── .mute
│   ├── .kick
│   ├── .warn
│   ├── .softban
│   └── .freeze
├── crown.unpunish.*
│   ├── .ban
│   ├── .mute
│   ├── .warn
│   ├── .softban
│   └── .freeze
├── crown.bypass.*
│   ├── .ban
│   ├── .mute
│   ├── .kick
│   ├── .warn
│   ├── .softban
│   └── .freeze
└── crown.report.*                     (Registered but not used in this version)
    ├── .create                        (Registered but not used in this version)
    ├── .view                          (Registered but not used in this version)
    ├── .assign                        (Registered but not used in this version)
    └── .bypasscooldown                (Registered but not used in this version)
```
