> For the complete documentation index, see [llms.txt](https://sbscripts.gitbook.io/sb-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sbscripts.gitbook.io/sb-scripts/sb-fuel/mixed-fuel.md).

# Mixed Fuel

The vehicle remembers what is in its tank. This is stored in the `fuelType` state bag and saved per plate.

* **Same fuel:** filling with the same fuel tops the tank up as usual.
* **Different fuel:** filling with a different fuel drains the tank first. The gauge starts from empty and you pay for the new fill.
* **Diesel in a non-diesel car:** after starting, the engine sputters for `stallAfterSeconds`, then dies and won't start. Refuel it with its proper fuel, which drains the diesel, and it runs again.
* **Vehicles in `Config.ModelFuel`:** they follow every rule in `Config.Breakdown.rules`. A wrong fuel no rule covers makes them sputter with short power cuts.
* **Other vehicles:** they only break down from the diesel rule. Other wrong fuels do nothing to them.
* **Shutdown:** at `Config.Consumption.shutdownAt` (5% by default) the engine shuts off and won't start until the tank is refuelled above that level.

Fuel level and tank fuel type for owned vehicles are stored in the `sbfuel_vehicles` table.
