# Settings

### shared/config.lua

#### Config.Locations

```lua
['uniqueName'] = {
    location = vec3(758.86, -719.73, 28.15),
    label = 'Grove Street Storage',
    types = {
      {type = 'small', rentPrice = 1500, buyPrice = 50000},
      {type = 'medium', rentPrice = 5000, buyPrice = 50000},
    },
  },
```

`uniqueName` = this value can be any word combined with numbers (city1, legionStorage) but has to be unique!

`types` will define which storage types are available at the location. These types have to be defined under `Config.UnitSettings` as well

#### Config.UnitSettings

```lua
Config.UnitSettings = {
  ['small'] = {
    type = 'small',
    size = 5000,
    label = 'small storage unit',
    image = 'https://dough.land/u/Bb7I6zISP5.png'
  },

  ['medium'] = {
    type = 'medium',
    size = 10000,
    label = 'medium storage unit',
    image = 'https://dough.land/u/SEoD6q00o7.png'
  },

  ['large'] = {
    type = 'large',
    size = 20000,
    label = 'large storage unit',
    image = 'https://dough.land/u/iSVP5tTLD2.png'
  },
}
```

Feel free to add more types (`small / medium / large`) following the same format

Size is only used in inventories that support a max weight

{% hint style="info" %}
***Untested***, but in inventories that limit by slots you should be able to set this to slots instead
{% endhint %}

### client/config.lua

{% hint style="warning" %}
This area of the guide will be improved over time. This resource has been developed using a single inventory but should be usable with all inventories with minor modifications.
{% endhint %}

{% tabs %}
{% tab title="doughStorage:client:openInventory" %}
Change contents to fit your inventory needs! This was developed using [Chezza's Inventory](https://chezza.tebex.io/package/4770357) but should work with any inventory without any issues.

```lua
-- Available data

data.id --storage unit unique identifier (from database)

details.identifier  --same as above
details.owner       --playerowner identifier
details.location    --storage unit location (from shared/config.lua)
details.type        --storage unit type (from shared/config.lua)
details.isrented    --true / false
details.price       --price that unit was either bought at / rented for

Config.Locations[details.location].label --gets label for storage facility
Config.Locations[details.location].location --gets location for storage facility

Config.UnitSettings[details.type].size --gets unit max weight / slots
Config.UnitSettings[details.type].label --gets units specific label
```

{% hint style="info" %}
Use `Config.UnitSettings[details.type].size` and set it to a slot limit in the config for inventories that use slots instead of weight
{% endhint %}
{% endtab %}

{% tab title="doughStorage:client:raidInventory" %}
Change contents to fit your inventory needs! This was developed using [Chezza's Inventory](https://chezza.tebex.io/package/4770357) but should work with any inventory without any issues.

```lua
-- Available data

data.id --storage unit unique identifier (from database)

details.identifier  --same as above
details.owner       --playerowner identifier
details.location    --storage unit location (from shared/config.lua)
details.type        --storage unit type (from shared/config.lua)
details.isrented    --true / false
details.price       --price that unit was either bought at / rented for

Config.Locations[details.location].label --gets label for storage facility
Config.Locations[details.location].location --gets location for storage facility

Config.UnitSettings[details.type].size --gets unit max weight / slots
Config.UnitSettings[details.type].label --gets units specific label
```

{% hint style="info" %}
Use `Config.UnitSettings[details.type].size` and set it to a slot limit in the config for inventories that use slots instead of weight
{% endhint %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions: 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:

```
GET https://wiki.dough.land/doughstorage/settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
