> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/general/commands.md).

# Commands

EdPrison registers all commands dynamically into Bukkit's command map (there is no `commands:` section in `plugin.yml`). Three groups exist: **static commands**, **auto-registered economy/level commands** (from `config.yml`) and **auto-registered GUI commands** (from `guis.yml`).

### /edprison ➤ EdPrison Utility Commands. Aliases: /edp, /edprisoncore (edprison.admin)

These are primarily console/GUI glue commands.

* /edp reload ➤ `Reloads all YAML files, re-registers enchants and static variables.`
* /edp msg \<player> \<message> ➤ `Sends a message to a player (PAPI parsed). Alias of message.`
* /edp sound \<player> \<sound> \[volume] \[pitch] ➤ `Plays a sound to a player. Default volume is 2 and pitch 1.`
* /edp title \<player> \<title> ➤ `Sends a title to a player (PAPI parsed).`
* /edp titlewithsubtitle \<player> \<title>title\</title>\<subtitle>subtitle\</subtitle> ➤ `Sends a title with subtitle to a player.`
* /edp updatepickaxe \<player> ➤ `Forces a pickaxe item re-render.`
* /edp executecommands \<player> \<commands> ➤ `Execute a list of commands for a player divided by a "," For example: /edp executecommands EdwardBelt edp msg %player% Hello %player%, edp sound %player% EXPLOSION`
* /edp opengui \<player> \<gui\[{arg:value,...}]> \[page] ➤ `Opens a gui from guis.yml to a player, optionally with arguments and page.`
* /edp enchantasplayer \<player> \<enchant> \<amount> ➤ `Buys enchant levels as the player (checks max level and cost).`
* /edp refundasplayer \<player> \<enchant> \<amount> ➤ `Refunds enchant levels as the player (pays back the configured refund %).`
* /edp removerobotasplayer \<player> \<robot> ➤ `Removes an active robot of a player and returns the item.`
* /edp claimrobotcurrenciesasplayer \<player> ➤ `Claims and withdraws to the player their robots currencies.`
* /edp buyahitemasplayer \<player> \<ah-item> ➤ `Buys an auctionhouse item as a player.`
* /edp returnahitemasplayer \<player> \<ah-item> ➤ `Returns the player's own auctionhouse item.`

### /admin ➤ Admin Commands. Aliases: /edpadmin, /prisonadmin, /adminprison (edprison.admin)

* /admin reseteconomy \<economy> ➤ `Resets for all players a currency/level.`
* /admin resetenchant \<enchant> ➤ `Resets for all players an enchant.`
* /admin givepickaxe \<player> ➤ `Gives a pickaxe to a player.`
* /admin addsummary \<player> \<currency> \<amount> ➤ `Adds to a player's autosell summary.`
* /admin enchant \<player> \<enchant> \<amount> ➤ `Enchants a specific enchantment. The amount can be a straight number like 5 to set a value or it can contain a '+' or '-'. If it contains a '+', for example +5 it will add 5 levels. If it contains a '-', for example -5 it will remove 5 levels.`
* /admin gang setpoints \<gang> \<points> ➤ `Sets a gang's points.`
* /admin gang givepoints \<gang> \<points> ➤ `Adds gang points.`
* /admin gang removepoints \<gang> \<points> ➤ `Removes gang points.`
* /admin gang givememberpoints \<player> \<points> ➤ `Adds points + member contribution.`
* /admin gang setmemberpoints \<player> \<points> ➤ `Sets a member's contribution.`
* /admin gang removememberpoints \<player> \<points> ➤ `Removes member contribution.`

### /bombs ➤ Bombs Commands. Alias: /bomb (edprison.bombs.admin)

* /bombs give \<player> \<bomb> \[amount] ➤ `Gives a bomb to a player.`

### /armors ➤ Armors Commands. Alias: /armor (edprison.armors.admin)

* /armors give \<player> \<armor> ➤ `Gives an armor to a player (at level 0).`

### /drills ➤ Drills Commands. Alias: /drill (edprison.drills.admin)

* /drills give \<player> \<drill> \[amount] ➤ `Gives a drill to a player.`

### /pouches ➤ Pouches Commands. Alias: /pouch (edprison.pouches.admin)

* /pouches give \<player> \<pouch> \[amount] ➤ `Gives a pouch to a player (with 0 progress).`

### /robots ➤ Robots Commands. Alias: /robot

* /robots ➤ `Opens the robots menu (player, no permission).`
* /robots give \<player> \<robot> \[amount] ➤ `Gives a robot to a player.` (edprison.robots.admin)

### /variables ➤ Variables Commands. Aliases: /variable, /vars (edprison.variables.admin)

* /variables set \<player> \<var> \<value> ➤ `Sets a changeable var value of a player.`
* /variables unset \<player> \<var> ➤ `Unsets a changeable var of a player.`

### /ah ➤ Auction House Commands. Alias: /auctionhouse

* /ah ➤ `Opens the auction house GUI (player, no permission).`
* /ah sell \<currency> \<amount> ➤ `Sells the item you have in your hand.` (edprison.ah.sell)

### /gang ➤ Gang Player Commands. Alias: /gangs (No Permissions — rank permissions are internal)

* /gang create \<gang-name> ➤ `Creates a gang (you become leader).`
* /gang disband ➤ `Disband your gang.`
* /gang invite \<player> ➤ `Invite someone to your gang.`
* /gang uninvite \<player> ➤ `Uninvite someone from your gang.`
* /gang join \<gang-name> ➤ `Join a gang you're invited to.`
* /gang leave \<gang-name> ➤ `Leave your gang.`
* /gang kick \<player> ➤ `Kick someone from your gang.`
* /gang promote \<player> ➤ `Promote a member of your gang.`
* /gang demote \<player> ➤ `Demote a member of your gang.`
* /gang setleader \<player> ➤ `Set the leader of your gang.`
* /gang info \<player/gang-name> ➤ `Get the info of a player gang or a gang.`
* /gang chat ➤ `Toggles the gang chat.`
* /gang top ➤ `Gets the top gangs (requires ajLeaderboards).`

### Auto-registered currency commands

For each currency in `config.yml` (names, aliases and permissions are all configurable — defaults shown):

| Command                                                                                                                         | Default permission           |
| ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| `/blocks`, `/rankupblocks` (`rankupblock`), `/pickaxeblocks` (`pickaxeblock`), `/tokens` (`token`), `/money` (`balance`, `bal`) | `edprison.<currency>`        |
| `... give <player> <amount>`                                                                                                    | `edprison.<currency>.give`   |
| `... set <player> <amount>`                                                                                                     | `edprison.<currency>.set`    |
| `... remove <player> <amount>`                                                                                                  | `edprison.<currency>.remove` |
| `... bal [player]`                                                                                                              | `edprison.<currency>.bal`    |

(The default config maps `pickaxeblocks`' main permission to `edprison.rankupblocks` — change it if you want a distinct node.)

### Auto-registered level commands

For each level track (defaults `rankup`, `pickaxe`):

| Command                                     | Default permission                     | Notes                                                                          |
| ------------------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------ |
| `/rankup` / `/pickaxe`                      | `edprison.rankup` / `edprison.pickaxe` | Shows level (automatic mode) or buys levels (manual mode: `/rankup [amount]`). |
| `/maxrankup` (alias `maxrank`)              | `edprison.rankup.max`                  | Only registered when `level-up-automatic: false`.                              |
| `... give / set / remove <player> <amount>` | `edprison.<track>.give/.set/.remove`   | `give` also runs level rewards for online targets.                             |
| `... bal <player>`                          | `edprison.<track>.bal`                 |                                                                                |

### Auto-registered GUI commands

Every GUI in `guis.yml` with an `open-command` gets a player-only command that opens it (default: `/enchant` → `enchant-menu`). The reserved names `robots`, `robot`, `ah`, `auctionhouse` are bound to the module commands instead.

### Other permissions

| Permission                  | Grants                                                                                                                   |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `edprison.admin`            | `/edprison` and `/admin`.                                                                                                |
| `edprison.autosell`         | Autosell income, when `permission.enabled: true` in `autosell.yml`.                                                      |
| `edprison.ah.group.<group>` | Auction listing limit of `<group>` from `auctionhouse.yml` (`owner`, `admin`, `svip`, `vip+`, `vip`, `user` by default). |
| `edprison.refund.<percent>` | Refund percentage, when `enchantments.refund.type: permission`.                                                          |
