# 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`?
