> For the complete documentation index, see [llms.txt](https://devmosaic.gitbook.io/devmosaic/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://devmosaic.gitbook.io/devmosaic/resources/devmosaic-ox-fuel-rework/stations-and-pumps.md).

# Stations And Pumps

Adding stations, supporting custom maps, and controlling blips.

### The Station List

`data/stations.lua` holds 27 stations and 122 pump positions. One entry per station, keyed by the station centre, with a list of its pump coordinates:

```lua
return {
    [vec3(-71.28, -1761.16, 29.48)] = {
        vec3(-63.61, -1767.93, 28.26),
        vec3(-61.03, -1760.85, 28.30),
    },
}
```

The station key drives the blip and decides when that station's screens switch on. The pump coordinates are used to find the actual pump props nearby.

### Adding A Station

Add a new entry with the station centre and each pump position. Coordinates do not have to be exact - the script searches a short radius around each one for a matching pump prop.

### Custom Maps

Pumps that are not in `data/stations.lua` still work. Any prop matching one of the models in `config.pumpModels` is picked up automatically within `displayDistance`.

Adding them to `data/stations.lua` is still worth doing, because listed stations get a blip and switch their screens on as a group rather than one at a time.

{% hint style="info" %}
If your custom map uses pump props that are not in the base game, add their model names to `pumpModels` in `config.lua`. They will not have a matching screen face, but the nozzle and hose will still work.
{% endhint %}

### Blips

| `showBlips` | Result                                               |
| ----------- | ---------------------------------------------------- |
| `0`         | No blips at all.                                     |
| `1`         | Only the nearest station, rechecked every 5 seconds. |
| `2`         | Every station, all the time.                         |

### The Assets Resource

`Dm_fuel_assets` contains the streamed models: the nozzle and active-pump props for each of the seven pump models, plus replacement textures for the base game pumps.

It is escrow protected and there is nothing in it to edit. Keeping it separate is what lets `ox_fuel` itself ship fully open.
