> For the complete documentation index, see [llms.txt](https://documentation.rcore.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.rcore.cz/paid-resources/rcore_housing/features/dirt-and-cleaning.md).

# Dirt and Cleaning

The dirt system spawns clutter inside SHELL and IPL properties over time. Players clean it up with a mop, by hand, or by buying the Cleaning upgrade.

{% hint style="info" %}
The dirt system is **disabled by default** (`Config.Dirt.Enable = false`). Enable it in [dirt configuration](/paid-resources/rcore_housing/configuration/dirt.md).
{% endhint %}

## 🧽 What Spawns

Two flavours of dirt props are spawned at random:

* **Outside** props: trash, litter, food bags, wrappers.
* **Inside** props: dirty plates, cups, food waste, soda cans, coffee cups.

Both share the prop list under `Config.Dirt.Objects` (with the `interior` flag deciding where they spawn).

## 🦶 Footprints

While walking on dirt, the player leaves footstep decals on the floor. Configurable under `Config.Dirt.Footsteps`.

## 🤸 Slipping

```lua
Config.Dirt.Slipping       = true
Config.Dirt.SlippingChance = 15
```

When a player enters a dirty area, there's a `SlippingChance` % chance of ragdolling. Disable by setting `Slipping = false`.

## 🧹 Cleaning by Hand

Walk up to a dirt prop and interact - the player plays a 2-second pickup animation (`pickup_object` / `pickup_low`) and removes the prop.

## 🪣 Mop & Bucket

The mop system uses two props:

| Prop               | Bone                 | Role                             |
| ------------------ | -------------------- | -------------------------------- |
| `prop_cs_mop_s`    | Right hand (`60309`) | Mop attached while sweeping.     |
| `prop_cs_bucket_s` | Spine (`57005`)      | Bucket carried before placement. |

Place the bucket once. While close to the bucket, the player can rinse the mop. Sweeping wipes decals and removes dirt within `SweepDistance` metres.

### Dirty Mop

If `Config.Dirt.Mop.DirtyLevel.Enable = true`, the mop fills up a dirty meter while sweeping. Past `Threshold` (default 70), the player must rinse before further sweeping is effective.

## 🧹 Cleaning Upgrade

The [Cleaning upgrade](/paid-resources/rcore_housing/features/upgrades.md) disables dirt spawning on a property entirely - no props, no footprints, no slipping. Useful for premium properties or for players who don't want to manage cleaning.
