> For the complete documentation index, see [llms.txt](https://buildsystem.eintosti.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://buildsystem.eintosti.de/v4/permissions-and-access/commands.md).

# Commands

This reference lists all default command permission nodes and explains the `.self` vs `.other` modifier rules.

***

## Command Suffix Rules (`.self` / `.other`)

For commands that modify worlds (e.g. changing time, toggling physics, editing status), BuildSystem supports ownership modifiers.

* **Default Suffix**: If no suffix is provided, the permission defaults to `.self`.
  * *Example*: `buildsystem.day` behaves identically to `buildsystem.day.self`.
* **`.self` Permission**: Allows players to run the command **only** inside worlds they created (where they are the registered owner).
  * *Example*: A player with `buildsystem.day.self` can change the time to day only in their own worlds.
* **`.other` Permission**: Allows players to run the command inside **any** world, including those created by other players.
  * *Example*: A player with `buildsystem.day.other` can change the time in any world.

***

## Global Command Permissions

| Command               | Permission Node                | Default (Bukkit) | Description                                              |
| --------------------- | ------------------------------ | ---------------- | -------------------------------------------------------- |
| `/back`               | `buildsystem.back`             | `OP`             | Teleport back to the previous location.                  |
| `/blocks`             | `buildsystem.blocks`           | `OP`             | Opens the custom blocks library GUI.                     |
| `/build`              | `buildsystem.build`            | `OP`             | Toggle Build Mode for yourself.                          |
| `/build [player]`     | `buildsystem.build.other`      | `OP`             | Toggle Build Mode for another online player.             |
| `/buildsystem`        | `buildsystem.help.buildsystem` | `OP`             | Display help pages.                                      |
| `/config <reload>`    | `buildsystem.config`           | `OP`             | Reloads `config.yml` and `messages.yml`.                 |
| `/day`                | `buildsystem.day`              | `OP`             | Set world time to day (supports `.self` / `.other`).     |
| `/night`              | `buildsystem.night`            | `OP`             | Set world time to night (supports `.self` / `.other`).   |
| `/noai`               | `buildsystem.noai`             | `OP`             | Toggle Mob AI (supports `.self` / `.other`).             |
| `/physics`            | `buildsystem.physics`          | `OP`             | Toggle physics simulation (supports `.self` / `.other`). |
| `/explosions`         | `buildsystem.explosions`       | `OP`             | Toggle explosions (supports `.self` / `.other`).         |
| `/settings`           | `buildsystem.settings`         | `TRUE`           | Open the personal settings panel.                        |
| `/setup`              | `buildsystem.setup`            | `OP`             | Opens the interactive wizard config menu.                |
| `/skull <name>`       | `buildsystem.skull`            | `OP`             | Spawns a custom player head.                             |
| `/speed <val>`        | `buildsystem.speed`            | `OP`             | Adjust flight/walk speed.                                |
| `/spawn`              | *None*                         | `TRUE`           | Teleport to global spawn point.                          |
| `/spawn [set/remove]` | `buildsystem.spawn`            | `OP`             | Modify global spawn point.                               |

***

## `/worlds` Subcommand Permissions

| Subcommand                         | Permission Node                      | Default (Bukkit) | Description                                                                                                    |
| ---------------------------------- | ------------------------------------ | ---------------- | -------------------------------------------------------------------------------------------------------------- |
| `/worlds`                          | `buildsystem.navigator`              | `TRUE`           | Opens the world navigator menu.                                                                                |
| `/worlds <category>`               | `buildsystem.navigator.<categoryId>` | `TRUE`           | Open a category tab directly (one shortcut per category; the same node also gates the tab's visibility).       |
| `/worlds addBuilder`               | `buildsystem.addbuilder`             | `TRUE`           | Add a player to the builder whitelist of a world you own.                                                      |
| `/worlds removeBuilder`            | `buildsystem.removebuilder`          | `TRUE`           | Remove a player from the builder whitelist.                                                                    |
| `/worlds backup`                   | `buildsystem.backup`                 | `TRUE`           | View the backup history GUI.                                                                                   |
| `/worlds backup create`            | `buildsystem.backup.create`          | `OP`             | Force a manual backup creation.                                                                                |
| `/worlds delete`                   | `buildsystem.delete`                 | `OP`             | Permanently delete a world directory.                                                                          |
| `/worlds edit`                     | `buildsystem.edit`                   | `OP`             | Opens the World Editor GUI (supports `.self` / `.other`).                                                      |
| `/worlds edit (Pin)`               | `buildsystem.edit.pin`               | `OP`             | Toggle Pin status for a world.                                                                                 |
| `/worlds edit (Icon)`              | `buildsystem.edit.icon`              | `OP`             | Change a world's icon material or, for a player head, its skull texture.                                       |
| `/worlds folder`                   | `buildsystem.folder`                 | `TRUE`           | Base node for managing world folders.                                                                          |
| `/worlds folder ... setPermission` | `buildsystem.folder.setpermission`   | `OP`             | Modify parent folder group permissions.                                                                        |
| `/worlds import`                   | `buildsystem.import`                 | `OP`             | Import a single world directory.                                                                               |
| `/worlds importAll`                | `buildsystem.import.all`             | `OP`             | Run batch directory imports.                                                                                   |
| `/worlds info`                     | `buildsystem.info`                   | `TRUE`           | Display metadata of the current world.                                                                         |
| `/worlds item`                     | `buildsystem.navigator.item`         | `OP`             | Receive the navigator clock item.                                                                              |
| `/worlds rename`                   | `buildsystem.rename`                 | `OP`             | Rename an existing world.                                                                                      |
| `/worlds setCreator`               | `buildsystem.setcreator`             | `OP`             | Change registered owner of a world.                                                                            |
| `/worlds setItem`                  | `buildsystem.setitem`                | `OP`             | Set a world's display icon to the held item.                                                                   |
| `/worlds setProject`               | `buildsystem.setproject`             | `OP`             | Change project tag of a world (supports `.self` / `.other`).                                                   |
| `/worlds setPermission`            | `buildsystem.setpermission`          | `OP`             | Change access permission of a world (supports `.self` / `.other`).                                             |
| `/worlds saveTemplate`             | `buildsystem.savetemplate`           | `OP`             | Save a world into the templates directory at runtime.                                                          |
| `/worlds setSpawn`                 | `buildsystem.setspawn`               | `OP`             | Set the world's spawn point to the player's current position.                                                  |
| `/worlds removeSpawn`              | `buildsystem.removespawn`            | `OP`             | Remove the world's custom spawn point.                                                                         |
| `/worlds setStatus`                | `buildsystem.setstatus`              | `OP`             | Modify world status (supports `.self` / `.other`, and checks dynamic node `buildsystem.setstatus.<statusId>`). |
| `/worlds tp <world>`               | `buildsystem.worldtp`                | `OP`             | Teleport to a world's spawn location.                                                                          |
| `/worlds unimport`                 | `buildsystem.unimport`               | `OP`             | Unimport a world directory without deleting files.                                                             |

{% hint style="info" %}
In version 4.0.0, world statuses and navigator categories are fully dynamic. The system enforces dynamic permissions depending on the status or category being manipulated:

* **Assign Status**: Requires `buildsystem.setstatus.<statusId>`. Built-in statuses strip underscores (e.g. `in_progress` → `buildsystem.setstatus.inprogress`); custom statuses use their full id (e.g. `my_status` → `buildsystem.setstatus.my_status`).
* **Create World in Category**: Requires `buildsystem.create.<categoryId>` (e.g., `buildsystem.create.public` or a custom category `buildsystem.create.administration`).
* **View Category / Use Shortcut**: Requires `buildsystem.navigator.<categoryId>` (granted by default). Denying it hides the category from the navigator and disables its `/worlds <categoryId>` command together.
  {% endhint %}
