> For the complete documentation index, see [llms.txt](https://julion-n.gitbook.io/bulb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://julion-n.gitbook.io/bulb/configurations/worlds.yml.md).

# Worlds.yml

Used to register the worlds that will be used within their respective game instances.

This is an example of structure that the file should follow:

```
worlds:
├── minigameName:
│   └── mapKey: (unused)
│       ├── name: "World folder name"
│       └── pois:
│           ├── "poi1":
│           │   ├── -x
│           │   ├── -y
│           │   ├── -z
│           │   ├── -pitch
│           │   └── -yaw
│           └── "poi2":
│               ├── -x
│               ├── -y
│               └── -z
└── minigameName2:
    └── mapKey: (unused)
        └── name: "World folder name"
```

When the file is created for the first time, it will have this content:

```yaml
worlds:

```

For each mini-game we will have to place its name as a key.

```yaml
worlds:
 myminigame:
  
```

Within this key we will have to place all the worlds that will be admitted within the mini-game.

{% hint style="info" %}
How we name these world keys does not matter, inside the code they are not used anywhere, they are only for structuring purposes.
{% endhint %}

```yaml
worlds:
 myminigame:
  template1:
  
  template2:
  
```

Within each key of a world comes what is important. These are the parameters:

<table><thead><tr><th width="104" align="center">Key</th><th width="112" align="center">Required</th><th width="96" align="center">Arg</th><th>Description</th></tr></thead><tbody><tr><td align="center">name</td><td align="center">True</td><td align="center">String</td><td>The name of the world folder inside the templates folder. Serves as an id.</td></tr><tr><td align="center">pois</td><td align="center">False</td><td align="center">List</td><td>It is a list of keys containing the coordinates of a point of interest on the map.</td></tr></tbody></table>

An example:

{% hint style="info" %}
Points of Interest (pois) can contain 3 values (x, y, z), or they can contain 5 (x, y, z, pitch, yaw).
{% endhint %}

```yaml
worlds:
 myminigame:
  template1:
   name: "minigameWorld1"
   pois:
    spawnpoint:
     - 8.5
     - 64.0
     - 8.5
  template2:
   name: "minigameWorld2"
   pois:
    spawnpoint:
     - 32.5
     - 64.0
     - 32.5
```

The point of the pois is that for a certain minigame you always have the same pois, but maybe with different values, since these pois can then be obtained by you within the instance of your minigame as a Location and used, for example, to teleport a player to that location.
