> 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/getting-started/creating-a-world.md).

# Creating Worlds

BuildSystem supports generating fresh worlds or importing existing directories via in-game menus or direct command execution.

***

## Creating a World via the GUI

1. Open the main menu using:

   ```
   /worlds
   ```
2. Click the Chest icon to open the **World Navigator**.
3. Click the `+` Player Head icon at the bottom of the navigator to open the creation panel.
4. Select a world type category:
   * **Predefined Worlds**: Normal, Flat, Nether, End, or Void.
   * **Templates**: Pre-existing world folders loaded as templates.
   * **Generators**: Custom generators supplied by external plugins.
5. A chat prompt will request a world name. Type the name directly into the server chat and press Enter.

![World Creation Panel](/files/XjfFFClkYZsKniNoMQ7x)

{% hint style="warning" %}
World names cannot contain spaces, dots, or characters matching the configured `invalid-characters` regex in `config.yml`.
{% endhint %}

***

## Importing an Existing World Directory

If you have a world directory already present under the server root or container, you can adopt it as a BuildWorld:

* **Command**: `/worlds import <directory_name> [-g <generator> | -c <creator>]`
  * `-g`: specify a custom chunk generator plugin for loading the world.
  * `-c`: register a player as the world's creator.

To import all unregistered directories at once, run `/worlds importAll [-g <generator> | -c <creator>]`. Imports are spread across ticks using the `import-all-delay` config option to avoid lag spikes.

***

## Configuring World Templates

Templates allow builders to spawn identical starting worlds quickly (e.g., standard layout grids).

### Method A: Runtime Command Export (New in 4.0.0)

You can convert any active world into a template directly in-game:

```
/worlds saveTemplate <world> [templateName]
```

This copies the target world's region files and database configuration into the `plugins/BuildSystem/templates/` folder under the specified `templateName`.

### Method B: Manual File Placement

1. Stop the server.
2. Navigate to `plugins/BuildSystem/templates/`.
3. Paste your template world directory inside.
4. Start the server; the folder name will automatically register as an selectable template.
