> 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/creating-worlds.md).

# World Creation Rules

Configure permissions to control who can generate worlds, which types they can use, and how many they can create.

***

## Creation Categories

### Public Worlds

* **Permission**: `buildsystem.create.public` (Default: `OP`)
  * Enables creating worlds visible to all players under the "Public Worlds" navigator tab.
* **Limit Nodes**: `buildsystem.create.public.<amount>`
  * Defines the maximum number of public worlds the player is permitted to own.

### Private Worlds

* **Permission**: `buildsystem.create.private` (Default: `true`)
  * Enables creating worlds under the "Private Worlds" tab.
* **Limit Nodes**: `buildsystem.create.private.<amount>`
  * Defines the maximum number of private worlds the player is permitted to own.

***

## Type Restrictions

Restrict which standard world dimensions a player can select during creation:

| Dimension Type | Permission Node                  | Default |
| -------------- | -------------------------------- | ------- |
| **Normal**     | `buildsystem.create.type.normal` | `true`  |
| **Flat**       | `buildsystem.create.type.flat`   | `true`  |
| **Nether**     | `buildsystem.create.type.nether` | `true`  |
| **End**        | `buildsystem.create.type.end`    | `true`  |
| **Void**       | `buildsystem.create.type.void`   | `true`  |

***

## Template & Generator Restrictions (v4.0.0 Update)

Version 4.0.0 enforces a **default-allow** behavior for templates and custom chunk generators. Dynamic permission checks prevent unauthorized access:

### Restricting Templates

By default, all players can create worlds from any template. To restrict access to a template (e.g. `LobbyGrid`), deny the following node:

* **Node**: `buildsystem.create.template.<template_name>`
* **Usage**: Denying `buildsystem.create.template.LobbyGrid` hides or disables that template in the creation GUI for that player.

### Restricting Custom Generators

To prevent players from using custom generators (supplied by plugins like VoidGen, CleanroomGenerator):

* **Node**: `buildsystem.create.generator.<generator_name>`
* **Usage**: Denying `buildsystem.create.generator.CleanroomGenerator` blocks the builder from selecting that chunk generator during world generation.
