# Adding Shell Building

## Types

***

### Door

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th><th data-type="checkbox">Required</th></tr></thead><tbody><tr><td>coords</td><td>vector3</td><td>coords</td><td>true</td></tr><tr><td>h</td><td>number</td><td>heading</td><td>true</td></tr></tbody></table>

### Shell Building

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th><th data-type="checkbox">Required</th></tr></thead><tbody><tr><td>shell</td><td>number</td><td>Shell model</td><td>true</td></tr><tr><td>doors</td><td><a href="#door">door</a>[]</td><td>Inside door offsets</td><td>true</td></tr><tr><td>coords</td><td>vector3</td><td>Static shell coords</td><td>false</td></tr><tr><td>realestate</td><td><a href="../../real-estate#realestate">Real Estate Data</a></td><td>The data required to be listed in the real estate menu</td><td>false</td></tr><tr><td>interactions</td><td>function[]</td><td><a href="adding-building-interaction">Building interactions</a></td><td>false</td></tr><tr><td>radius</td><td>number</td><td>Furniture Editor radius based on coords (default 20)</td><td>false</td></tr><tr><td>onEnter</td><td>function</td><td>Function to be executed after the player enters the building</td><td>false</td></tr><tr><td>onExit</td><td>function</td><td>Function to be executed after the player exits the building</td><td>false</td></tr></tbody></table>

## Examples

***

> Create `building_name.lua` inside `no-housing/config/shared/buildings/shell`

```lua
Config.Buildings.Shell.building_name = {
    shell = `shell_model`, -- model of the shell
    radius = 20.0, -- furniture radius
    coords = vector3(0.0, 0.0, 0.0),
    doors = { -- inside door offsets
        {coords = vector3(-1.4218, -1.9719, 2.9), h = 1.95}
    },
    realestate = {
        label = "Trailer",
        price = 15000
    },
    onEnter = function(ctx)
        
    end,
    onExit = function()
        
    end
}
```
