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

# Building

Ouranos building serialization process is a way to save buildings you made into xml files. These buildings are used in Ouranos generation process for trees, villages, cities and structures. This page will explain how to create a building xml file.

## XML File creation

### Step 1 - Get the selector

The selector is the tool you will have to use to select the building. To obtain it, simply use the command */selector.*

### *Step 2 - Select the building area*

*As a world edit selection right click and left click on the two points representing the whole building surface as follow :*

<figure><img src="https://406784024-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaTbjV6An2iAy0IAKZ7Sb%2Fuploads%2FJv1zfP1J40jjIoA164wN%2Fselector.png?alt=media&amp;token=640c8dd3-c53e-49af-9112-969423023308" alt=""><figcaption><p>Two points two select</p></figcaption></figure>

### Step 3 - Add the doors (only for structures, village and city buildings)

If your building is a structure, village or city building you have to define doors with this command :&#x20;

```
/dooradd <interior|exterior>
```

**interior** argument is for city/village buildings and **exterior** argument is for structures.

You have to use this command at every entrance location in the building, in other words in front of doors.

{% hint style="success" %}
If your building is a tree, you can skip this step
{% endhint %}

### Step 3 - Add a center (only for trees)

If your building is a tree, you have to define a center block. The center block is the block where the tree will be paste on your world. Normally this should be the lowest trunk block

{% hint style="success" %}
If your building is a structure, city or village building you can skip this step
{% endhint %}

### Step 4 (Optional) - Add mobs or NPCs (only for structures, village and city buildings)

You can define locations in your build where mobs/npcs will be placed.

#### Adding a mob

To add a mob, go at the desired mob location and do */addmob \<name>*

#### *Adding a NPC*

To add a NPC, go at the desired NPC location and do */addnpc \<name>*

{% hint style="success" %}
If your building is a tree, you can skip this step
{% endhint %}

### Step 5 - Serialize

When all of the step above have been realized, you can serialize your building. To do so, run the command /serialize \<name> \[-n]

The -n argument is here to specify the plugin that there's no doors in your building. If you didn't add any door, you will have to use it to be able to serialize.

### Step 6 - Get your file&#x20;

The file created is \<name>.xml located into the */plugins/Ouranos/* folder.
