> For the complete documentation index, see [llms.txt](https://worive.gitbook.io/urbek-modding/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://worive.gitbook.io/urbek-modding/in-depth-knowledge/structure-attributes/placement.md).

# Placement

## Behaviour

### Root -  **`root`**

Code Name of the main building, when a multi-block is broken, replace other tiles by this building.

**Attribute Type:** Building Code Name

### Buildable -  `buildable`

Can be built manually.

**Attribute Type:** Boolean (default: `True`).

### Replaces -  `replaces`

Can be built directly above specifics buildings. Example: Bus stop for Roads.

**Attribute Type:** List of Building Code Names.

## Area

{% hint style="info" %}
You can set the value of `q`to **`0`** to not allow other buildings/variables in the area.
{% endhint %}

### Buildings Needed -  `buildingsNeeded`

List of buildings needed in a specific area around it.

**Attribute Type:** Building Needed

<details>

<summary>Building Needed</summary>

Format:

```json
{
    "building": "escuela",
    "radio": 10,
    "q": 2,
    "biggerThan": false
}
```

**Building:** CodeName of any existing building.

**Radio:** Area around the building that will be checked.

**Q:** Quantity.

**Bigger Than:** If `true`, will check for the quantity or more. If `false`, will check for quantity or less.

</details>

{% tabs %}
{% tab title="Example: Simple Conditions" %}
Needs at least `1` or more `puerto` in a radius of `8`.

```
"buildingsNeeded": [
    {        
        "building": "puerto",        
        "radio": 8,        
        "q": 1,        
        "biggerThan": true    
    }
]
```

{% endtab %}

{% tab title="Example: Multiples Conditions" %}

* Cannot have (`0` or less) a `puerto` in a radius of `8`.
* Needs at `2` or less `campo` in a radius of `10`.

```
"buildingsNeeded": [
    {        
        "building": "puerto",        
        "radio": 8,        
        "q": 0,        
        "biggerThan": false
    },
    "buildingsNeeded": [
    {        
        "building": "campo",        
        "radio": 10,        
        "q": 2,        
        "biggerThan": false
    }
]
```

{% endtab %}
{% endtabs %}

### Distance To Road -  `distanceToRoad`

Distance from any road maximum.

**Attribute Type:** Number.

### Local Variables Needed -  `localVariablesNeeded`

List of local variables needed in a specific area around it.

**Attribute Type:** Local Variable Needed

<details>

<summary>Local Variable Needed</summary>

Format:

```json
{
    "localVariable": "educacion",
    "radio": 10,
    "q": 2,
    "biggerThan": false,
    "threshold": 5,
    "onlyUpdate": false
}
```

**Local Variable:** Name of local variable.

**Radio:** Radius around the building that will be checked.

**Q:** Quantity.

**Bigger Than:** If `true`, will check for the quantity or more. If `false`, will check for quantity or less.

**Threshold:** How many resources each building must have to be counted in quantity.

**Only Update:** YET TO BE KNOWN.

</details>

### Resources Needed -  `resourcesNeeded`

List of resources needed.

**Attribute Type:** Resource Needed List

<details>

<summary>Resource Needed Format</summary>

Format:

```json
{
   "resource": "frutosRojos",
   "radio": 2,
   "q": 1,
   "biggerThan": true
 }
```

**Resource** (Resource)**:** Name of resource

**Radio:** Radius around the building that will be checked.

**Q:** Quantity.

**Bigger Than:** If `true`, will check for the quantity or more. If `false`, will check for quantity or less.

</details>

## Biomes

{% hint style="info" %}
**Check the number of each biome at this page:**
{% endhint %}

{% content-ref url="/pages/wGtU5mCcsOWVsTwoX1yX" %}
[Biomes](/urbek-modding/in-depth-knowledge/in-game-data-names/biomes.md)
{% endcontent-ref %}

### Biome Able -  `biomeAble`

List of biomes where it can be placed (as a whitelist).

**Attribute Type:** List of biome numbers.

### Biome Unable -  `biomeUnable`

List of biomes where it cannot be placed (as a blacklist).

**Attribute Type:** List of biome numbers.

## Placement Type

### Line -  `line`

Can be placed in lines like roads or bridge.

**Attribute Type:** Boolean (default: `False`).

### Zone -  `zone`

Can be placed in whole zones like farms or houses.

**Attribute Type:** Boolean (default: `False`).

## Water Related

### Can Water Artificial -  `canWaterArtificial`

Can be placed on coastal tiles next to natural or artificial lagoons.

**Restriction:** only relevant with the attribute **coastal** set as `True`.

**Attribute Type:** Boolean (default: `True`).

### Can Water River -  `canWaterRiver`

Can be placed on coastal tiles next to rivers.

**Restriction:** only relevant with the attribute **coastal** set as `True`.

**Attribute Type:** Boolean (default: `True`).

### Can Water Sea -  `canWaterSea`

Can be placed on coastal tiles next to the sea.

**Restriction:** only relevant with the attribute **coastal** set as `True`.

**Attribute Type:** Boolean (default: `True`).

### Coastal -  `coastal`

Can only be placed on coastal tiles.

**Attribute Type:** Boolean (default: `False`).

### Coastal Depth -  `coastalDepth`

Amount of water needed in front of the building.

{% hint style="warning" %}
**WARNING:** Feature not yet implemented totally, for now the only values accepted are **`0`** and **`2`**.
{% endhint %}

{% tabs %}
{% tab title="Example with value 0" %}
**Attribute Type:** Number.

Green: land\
Blue: water\
Red: Building\
Yellow: Water needed.\
\ <img src="/files/gwRSCWQ6KixaBQXLpWVX" alt="" data-size="original">
{% endtab %}

{% tab title="Example with value 2" %}
**Attribute Type:** Number.

Green: land\
Blue: water\
Red: Building\
Yellow: Water needed.\
\ <img src="/files/eQIB19NxwYXDXZ1rpsD1" alt="" data-size="original">
{% endtab %}
{% endtabs %}

### Maritime -  `maritime`

Distance from the coast where you can build on water.

{% hint style="warning" %}
**WARNING:** Feature not yet implemented totally, for now any value above **`0`** will allow the building to be built close to the coast.
{% endhint %}

**Attribute Type:** Number.

### River Side -  `riverSide`

Can be placed in the river, next to the coast.

**Attribute Type:** Boolean (default: `False`).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://worive.gitbook.io/urbek-modding/in-depth-knowledge/structure-attributes/placement.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
