# Configuration

This script uses more than one config file, and each file has a different job:

* `config/main.lua`
* `config/excavator.lua`
* `config/dirt_digging.lua`
* `config/pipe_dirt_digging.lua`
* `config/rock_crushing.lua`

If you remember only one rule, remember this:

* `config/main.lua` = menu access, XP, payout style, clothing, UI, and general behavior
* `config/excavator.lua` = actual routes, scenario groups, vehicles, rewards, and steps
* the other three files = step-specific balance values

## Quick Answers

* Menu command, key, or tablet item: `config/main.lua` -> `Config.ScriptUI`
* Change XP or clothing: `config/main.lua`
* Disable a route: `config/excavator.lua` -> route `disabled = true`
* Change cooldown: `config/excavator.lua` -> route `cooldown`
* Change team size, vehicles, rewards, or step order: `config/excavator.lua`
* Change dirt digging amount: `config/dirt_digging.lua` -> `totalDigCount`
* Change pipe digging distances or models: `config/pipe_dirt_digging.lua`
* Change crush distance or crush count: `config/rock_crushing.lua`

## What Is Inside config/main.lua?

The real source file controls:

* `Config.locale`
* `Config.ScriptUI`
* `Config.Levels`
* `Config.InfoBox`
* `Config.ScoreBox`
* `Config.CleanMoney`
* `Config.JobClothing`
* `Config.AvgAwards`
* `Config.debug`

Default item-based menu access uses:

```lua
itemName = "excavator_op_tablet"
```

## What Is Inside config/excavator.lua?

This file controls the route logic itself:

* `employers`
* `specialSkillbars`
* `blips`
* `limitVehiclesToMemberCount`
* `scenarios`

The real source groups scenarios by difficulty:

* `easy`
* `medium`
* `hard`

Each difficulty contains route entries, and each route entry includes fields such as:

* `disabled`
* `name`
* `teamSize`
* `cooldown`
* `rewards`
* `vehicles`
* `steps`

## How Do I Disable One Route?

Open:

```lua
config/excavator.lua
```

Then find the exact route entry under the difficulty you are testing and set:

```lua
disabled = true
```

Do not disable the wrong route block and expect the live route to disappear. `easy`, `medium`, and `hard` are separate lists.

## How Do I Change Cooldown, Rewards, Vehicles, Or Team Size?

Use the same route entry in `config/excavator.lua`.

The values you will usually edit are:

* `cooldown`
* `teamSize = { min = 1, max = 2 }`
* `rewards = { ... }`
* `vehicles = { ... }`
* `steps = { ... }`

If your change does not show up, you probably edited a different difficulty route than the one you started in game.

## Which Step Keys Exist In The Default Source?

The real source uses step keys such as:

* `dirt_digging`
* `unload_rocks`
* `rock_crushing`
* `pipe_dirt_digging`

When you change the `steps` array in `config/excavator.lua`, you are deciding which gameplay modules the route uses and in what order.

## What Does config/dirt\_digging.lua Control?

This file is for the normal dirt digging step. Real fields include:

* `totalDigCount`
* `dirtLevelModels`

Use this when you want to change how many digs are required or how the dirt pile stages look.

## What Does config/pipe\_dirt\_digging.lua Control?

This file is for the pipe digging step. Real fields include:

* `totalDigCount`
* `excavatorDigDistance`
* `truckUnloadDistance`
* `dirtPileModel`
* `attachedDirtModel`
* `boru01Model`

Use this file when the question is about pipe excavation balance, distances, or related models.

## What Does config/rock\_crushing.lua Control?

This file is for the crushing step. Real fields include:

* `smallRockModel`
* `excavatorBoneIndex`
* `excavatorCrushDistance`
* `minCrushCount`
* `maxCrushCount`

Use this when you want rocks to take more or fewer hits, or when the excavator drill interaction feels too strict or too loose.

## If Your Changes Do Not Apply

Check these in order:

1. Did you edit `config/main.lua` or the correct route file?
2. Did you edit the correct difficulty route inside `easy`, `medium`, or `hard`?
3. Did you restart `0r-excavatorjob` after the edit?
4. Did you change route settings in `config/excavator.lua` when the real problem was step balance inside `dirt_digging.lua`, `pipe_dirt_digging.lua`, or `rock_crushing.lua`?


---

# 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://docs.0resmon.org/0resmon/0r-resources/0r-excavatorjob/configuration.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.
