An open API service indexing awesome lists of open source software.

https://github.com/thecodingdad-tisonk/fs25_soilfertilizer

Realistic soil nutrient management for Farming Simulator 25. Track N/P/K, pH, and organic matter per field โ€” with crop-specific depletion, fertilizer replenishment, weather effects, and seasonal cycles.
https://github.com/thecodingdad-tisonk/fs25_soilfertilizer

agriculture farming-simulator farming-simulator-25 fertilizer fs25 fs25-mod game-mod giants-engine lua modding nutrients simulation soil

Last synced: 14 days ago
JSON representation

Realistic soil nutrient management for Farming Simulator 25. Track N/P/K, pH, and organic matter per field โ€” with crop-specific depletion, fertilizer replenishment, weather effects, and seasonal cycles.

Awesome Lists containing this project

README

          

# ๐ŸŒพ FS25 Soil & Fertilizer
### *Realistic Nutrient Management*

[![Downloads](https://img.shields.io/github/downloads/TheCodingDad-TisonK/FS25_SoilFertilizer/total?style=for-the-badge&logo=github&color=4caf50&logoColor=white)](https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/releases)
[![Release](https://img.shields.io/github/v/release/TheCodingDad-TisonK/FS25_SoilFertilizer?style=for-the-badge&logo=tag&color=76c442&logoColor=white)](https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/releases/latest)
[![License](https://img.shields.io/badge/license-CC%20BY--NC--ND%204.0-lightgrey?style=for-the-badge&logo=creativecommons&logoColor=white)](https://creativecommons.org/licenses/by-nc-nd/4.0/)

Donate via PayPal


> *"Applied liquid fertilizer three seasons straight because the yield looked fine. Then I checked the pH โ€” it was sitting at 5.4. The nutrients I'd been pouring in couldn't even be absorbed. One application of lime later and the next harvest told the whole story."*


**In base FS25, every field is born equal and stays that way forever. This mod remembers.**

Each field builds its own history. Nitrogen drops after a heavy wheat crop. Rain washes potassium out of sandy ground. Fallow fields slowly breathe back to life. The numbers you see in the HUD aren't arbitrary โ€” they're the consequence of every harvest, every storm, and every bag of fertilizer you did or didn't apply.

`Singleplayer` โ€ข `Multiplayer (server-authoritative)` โ€ข `Persistent saves` โ€ข `26 languages`

> [!TIP]
> Want to be part of our community? Share tips, report issues, and chat with other farmers on the **[FS25 Modding Community Discord](https://discord.gg/Th2pnq36)**!

---

## ๐Ÿ†• What's New in v2.2.3.x

### Smart Sensor System
A new in-vehicle panel appears when you're in a VWW-capable sprayer. It shows pest, disease, and nutrient sensor states for each boom section โ€” and **blocks spraying on sections where no active need is detected**. Each sensor type (pest / disease / nutrient) has its own toggle via keybinds (Alt+1/2/3 by default, rebindable). Enable in **Settings โ†’ Admin โ†’ Smart Systems**.

### See & Spray System
A second vehicle panel shows live per-cell pressure readings at the sprayer's current position โ€” coloured bars that tell you in real time which sections of the boom are over cells that actually need treatment. Toggles per type via Alt+4/5/6.

### Variable Rate Application
A third vehicle panel shows per-section rate bars (green โ†’ yellow โ†’ red) and **automatically adjusts boom output rate** based on the soil deficit for the currently loaded product. Sections over well-stocked soil spray less; sections over depleted soil spray more. Toggle via Alt+7.

### Free Panel Layout
Enable **Free Panel Layout** in Settings โ†’ Display โ†’ Position to unlock independent positioning for all three smart system panels. Enter Shift+H edit mode and drag each panel to wherever you want it. Press **[โˆ’]** in any panel's title bar to collapse it to just the title bar โ€” state is saved to `hud.xml` and restored on load.

### v2.2.3.2 โ€” Hotfix
- System panels now collapse cleanly โ€” stacked panels below no longer overlap when a panel above them is collapsed
- System panels now hide when the main HUD is toggled off with the H key
- Third-party fertilizers registered in the `fertilizer` fill category by map mods (e.g. POLIFOSKA on Etruria) now load into and refill from spreaders correctly

### v2.2.3.1 โ€” Hotfix
- Fixed `sensorPanel` naming mismatch that prevented Smart Sensor panel from being dragged independently
- Admin page Smart Systems / Vehicle Tools nav buttons moved to the top โ€” they were previously cut off below the visible area
- Disabled system panels now correctly contribute 0 height to stacked layout (no gaps)
- System panels are now visible and draggable in Shift+H edit mode even without being in a sprayer
- System panels are now correctly hidden when the SF settings panel (Shift+O) is open

---

## โœจ Features

### ๐Ÿงช Per-Field Soil Chemistry

Five values tracked independently for every field on the map:

| | Nutrient | Role | Depleted By |
|---|---|---|---|
| ๐ŸŸข | **Nitrogen (N)** | Growth and leaf mass | Harvest, rain leaching, fall season |
| ๐Ÿ”ต | **Phosphorus (P)** | Root development and energy | Harvest |
| ๐ŸŸก | **Potassium (K)** | Water regulation and yield quality | Harvest, rain leaching |
| ๐ŸŸค | **Organic Matter (OM)** | Soil structure and nutrient buffering | Builds slowly via manure and plowing |
| โš—๏ธ | **pH** | Unlocks nutrient availability | Rain acidification โ€” raised by lime and plowing |

All five values persist in your save. A field that's been growing canola for three seasons without lime will feel different from one you've been managing carefully.

### ๐ŸŒพ Crop-Specific Extraction

Different crops take different amounts from your soil. Push the same field too hard and it shows.

| Crop | N drain | P drain | K drain | Notes |
|---|---|---|---|---|
| ๐Ÿฅ” Potato | โ—โ—โ—โ—โ— | โ—โ—โ—โ— | โ—โ—โ—โ—โ— | Extreme K demand โ€” must rotate |
| ๐ŸŸฃ Sugar Beet | โ—โ—โ—โ—โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—โ— | Heaviest K of any crop |
| ๐ŸŒป Sunflower | โ—โ—โ—โ—โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—โ—‹ | Moderate-high all round |
| ๐ŸŒผ Canola | โ—โ—โ—โ—โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—โ—‹ | High N demand, oilseed crop |
| ๐Ÿซ˜ Soybean | โ—โ—โ—โ—โ— | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—‹โ—‹ | Highest N โ€” partial fixation assumed |
| ๐ŸŒฝ Maize | โ—โ—โ—โ—โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—โ—‹ | Large biomass, needs N and K |
| ๐ŸŒพ Wheat | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—‹โ—‹โ—‹ | โ—โ—โ—โ—‹โ—‹ | Moderate โ€” manageable with rotation |
| ๐ŸŒพ Barley / Oats / Rye | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—‹โ—‹โ—‹ | โ—โ—โ—โ—‹โ—‹ | Light feeders, good rotation crops |
| ๐Ÿซ› Peas / Beans | โ—โ—โ—โ—โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—โ—‹ | Legumes โ€” still need balanced soil |

### ๐Ÿ”„ Crop Rotation

The mod tracks the last **3 harvested crops** per field and actively rewards good rotation practice โ€” and penalises lazy mono-cropping.

| Situation | Effect |
|---|---|
| **Legume โ†’ Non-legume** (soybean, peas, or beans last season) | +0.5 N/day for the first 3 days of spring โ€” nitrogen fixation carry-over |
| **Same crop two seasons running** | ร—1.15 extraction multiplier on that harvest โ€” 15% extra depletion across N, P, and K |
| **Healthy alternation** | No modifier in either direction |

The Soil Report now shows your rotation status per field alongside the nutrient recommendations: *Rotation Bonus*, *Fatigue: Same Crop*, or *Rotation: OK*. History is saved with your savegame and synced in multiplayer. Can be toggled off in settings.

### ๐Ÿ› Field Health System

Three pressure scores (0โ€“100) track threats to each field independently. Left unchecked they reduce your actual harvest yield โ€” fewer liters in the combine hopper, less money at the sell point. Treat them with the right product and the pressure drops within a few days.

| Pressure | Source | Treatment | Resets naturally | Max penalty |
|----------|--------|-----------|-----------------|-------------|
| ๐ŸŒฟ **Weed** | Grows daily โ€” peaks without tillage | `HERBICIDE` spray | Any tillage / plowing | โˆ’30% |
| ๐Ÿž **Pest** | Insects โ€” peaks in summer | `INSECTICIDE` spray | Harvest disperses population | โˆ’30% |
| ๐Ÿ„ **Disease** | Fungal โ€” driven by rain | `FUNGICIDE` spray | 3+ dry days cause natural decay | โˆ’25% |

All three are visible in the HUD and the full Soil Report. Each can be toggled off in settings.

### ๐Ÿ’Š Fertilizer Types

25+ products tracked, each with a different nutrient job.

**Base game (always available):**

| Fertilizer | N | P | K | Organic Matter | Notes |
|---|---|---|---|---|---|
| **Liquid Fertilizer** | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—‹โ—‹โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ€” | Fast-acting, balanced NPK |
| **Solid Fertilizer** | โ—โ—โ—โ—โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ€” | Higher N/P, granular |
| **Manure** | โ—โ—โ—‹โ—‹โ—‹ | โ—โ—‹โ—‹โ—‹โ—‹ | โ—โ—โ—‹โ—‹โ—‹ | โœ“ | Slow-release, builds OM over time |
| **Slurry** | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—‹โ—‹โ—‹ | โ—โ—โ—โ—โ—‹ | โœ“ | Liquid organic, K-dominant (real N:P:K ratio) |
| **Digestate** | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—‹โ—‹โ—‹ | โ—โ—โ—โ—โ—‹ | โœ“ | Biogas byproduct, higher N availability than raw manure |
| **Lime** | โ€” | โ€” | โ€” | โ€” | Only raises pH โ€” but nothing else works properly without it |

**Custom liquid fertilizers (purchasable IBC liquid tanks in shop):**

| Product | Type | Primary benefit |
|---|---|---|
| UAN-32 / UAN-28 | Liquid nitrogen | Highest N/L of liquid sources |
| Anhydrous Ammonia | Liquid nitrogen | Maximum N concentration |
| Starter 10-34-0 | Liquid P | In-furrow high-P starter |
| Liquid Urea | Liquid N | Dissolved urea for sprayer application |
| Liquid AMS | Liquid N | Liquid ammonium sulphate |
| Liquid MAP | Liquid P+N | High-P liquid blend |
| Liquid DAP | Liquid P+N | Liquid DAP equivalent |
| Liquid Potash | Liquid K | Dissolved potassium for sprayers |
| Insecticide | Liquid | Pest pressure treatment (sprayer) |
| Fungicide | Liquid | Disease pressure treatment (sprayer) |
| Liquid Lime | Liquid pH agent | Raises pH via sprayer โ€” alternative to dry lime |

**Custom dry/solid fertilizers (purchasable big bags in shop):**

| Product | Type | Primary benefit |
|---|---|---|
| Urea / AMS | Dry nitrogen | Standard granular N sources |
| MAP / DAP | Dry P+N | Phosphorus-focused blends |
| Potash | Dry K | Pure potassium supplement |
| Gypsum | Dry amendment | Lowers pH and improves soil structure |
| Compost | Organic amendment | Best OM builder per application |
| Biosolids | Organic fertilizer | Municipal organic N+P amendment |
| Chicken Manure | Organic fertilizer | Concentrated N+P poultry litter |
| Pelletized Manure | Organic fertilizer | Dense balanced NPK+OM โ€” highest analysis |

**Organic / soil amendments (nutrient profiles):**

| Product | Application | N | P | K | OM | Notes |
|---|---|---|---|---|---|---|
| **Compost** | Spreader | Low | Low | Low | โ—โ—โ—โ—โ— | Best OM builder per litre |
| **Biosolids** | Spreader | โ—โ—โ—‹โ—‹โ—‹ | โ—โ—โ—‹โ—‹โ—‹ | Low | โœ“ | Municipal organic amendment |
| **Chicken Manure** | Spreader | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—‹โ—‹โ—‹ | โœ“ | Concentrated poultry litter |
| **Pelletized Manure** | Spreader | โ—โ—โ—โ—โ—‹ | โ—โ—โ—โ—‹โ—‹ | โ—โ—โ—โ—โ—‹ | โœ“ | Dense balanced organic NPK |
| **Gypsum** | Spreader | โ€” | โ€” | โ€” | Low | Lowers pH, minor OM gain |
| **Liquid Lime** | Sprayer | โ€” | โ€” | โ€” | โ€” | Raises pH via sprayer equipment |

> [!NOTE]
> Organic matter builds slowly โ€” it takes many seasons to accumulate meaningfully. Soil with high OM buffers pH swings and slows nutrient loss from rain.

### ๐Ÿšœ Soil Compaction

Heavy vehicles compact the soil they drive over. Compaction is tracked per field (0โ€“100%) and
gradually reduces how effectively the field can absorb nutrients.

| Threshold | Vehicle weight | Effect |
|---|---|---|
| **Compaction hit** | โ‰ฅ 8 t total (tractor + implement) | +2% compaction per day (once per game day) |
| **Subsoiler pass** | Any cultivator with `isSubsoiler = true` | โˆ’15% compaction per pass |
| **Natural decay** | Automatically | โˆ’0.5% per game day |

At maximum compaction (100%), the field's nutrient extraction penalty reaches **20%** โ€” compacted
soil binds nutrients and reduces their availability to crops.

The HUD shows compaction as a colour-coded row (green < 20%, amber 20โ€“60%, red > 60%). It also
appears as **overlay layer 10** on the in-game map. Compaction is saved to `soilData.xml` and
synced to all clients in multiplayer. Toggle it in settings if you prefer to skip this mechanic.

### ๐Ÿ“Š Coverage Tracking

The sprayer now tracks which individual soil cells have been covered in an application pass.
Coverage fraction is shown live in the HUD as `Coverage: X% / 70% min`. The fully-treated
field notification is gated on achieving **70% minimum coverage** โ€” a single-pass clip across
a field corner no longer triggers a false "field treated" popup.

### ๐ŸŒฆ๏ธ Environmental Effects

The mod isn't just about what you put in โ€” it's about what the world takes out.

| Effect | What happens |
|---|---|
| ๐ŸŒง๏ธ **Rain leaching** | Nitrogen and potassium wash out during heavy rain. Phosphorus binds tightly and barely moves. |
| ๐Ÿ‚ **Fall nitrogen loss** | Biological activity slows in autumn, pulling N levels down naturally. |
| ๐ŸŒฑ **Spring nitrogen boost** | Microbial activity picks back up in spring, recovering a small amount of N. |
| ๐ŸŒง๏ธ **pH acidification** | Rain is slightly acidic. Ignore liming long enough and your soil will show it. |
| ๐ŸŒพ **Fallow recovery** | Fields left unplanted for 7+ days slowly recover nutrients on their own. |
| ๐Ÿšœ **Plowing bonus** | Aerates soil, nudging pH toward neutral and boosting organic matter mixing. |
| ๐ŸŒฟ **Residue incorporation** | Working post-harvest stubble back into the soil releases a small NPK and OM pulse from decomposing straw. Deeper tillage releases more; direct-drills release the least. |

### ๐Ÿค– Smart Precision Systems (VWW sprayer required)

Three in-vehicle overlay panels activate when you enter a Variable Work Width (VWW) capable sprayer. Each appears as a collapsible HUD panel that can be independently repositioned in Free Panel Layout mode.

| System | What it does | Keybind |
|---|---|---|
| **Smart Sensor** | Monitors pest, disease, and nutrient need per section. Blocks spraying on sections with no active need detected. | Alt+1 / Alt+2 / Alt+3 (per type) |
| **See & Spray** | Shows live per-cell pressure for pest, disease, and weed at the sprayer's current position. Colour-coded per section. | Alt+4 / Alt+5 / Alt+6 (per type) |
| **Variable Rate** | Adjusts boom output rate per section based on soil deficits for the loaded product. Green bar = low rate; red bar = high rate. | Alt+7 (on/off) |

All three require a VWW-capable sprayer and must be enabled individually via **Settings โ†’ Admin โ†’ Smart Systems**.

**Free Panel Layout** โ€” Enable in Settings โ†’ Display โ†’ Position, then use the Shift+H edit mode to drag each panel independently. Press **[โˆ’]** in any panel's title bar to collapse it to the title bar only. Positions and collapse states are saved to `hud.xml`.

### ๐Ÿ“Š Soil HUD

A compact overlay shows the current field's soil status while you're working. Colour-coded indicators make problems visible at a glance:

๐ŸŸข **Green** โ€” healthy, no action needed ย |ย  ๐ŸŸก **Amber** โ€” getting low, plan ahead ย |ย  ๐Ÿ”ด **Red** โ€” depleted, yield is being reduced

The **yield forecast row** (e.g. `Yield ~-18%`) is not just a warning โ€” it reflects what the combine will actually collect. N/P/K deficits, weed, pest, and disease pressure all reduce real harvest liters. The HUD percentage is exactly the hit your tank takes.

Additional rows appear contextually: **Coverage** (`Coverage: X% / 70% min`) while a sprayer is active on a field, and **Compaction** (when soil compaction is above 0% and the setting is enabled). Both are colour-coded with the same green/amber/red tiers as nutrients.

Fully customisable: 5 positions, 4 colour themes, 5 transparency levels, 3 font sizes, and a compact mode that shrinks to one line per nutrient. The drag-to-reposition action (`SF_HUD_DRAG`, default: RMB) is now rebindable through the standard FS25 key bindings menu.

### ๐Ÿ“‹ Full Farm Soil Report

Press **`K`** to open a full farm overview sorted by urgency โ€” the fields that need the most attention appear at the top. Each row shows N/P/K, pH, OM, weed and pest pressure, and an overall status badge. Click **โ–บ** on any row to open a field detail view with a complete breakdown, yield forecast, and specific treatment recommendations.

### ๐Ÿ“ฑ Soil PDA Page

Press **`Shift+P`** to open the dedicated Soil & Fertilizer page inside the FS25 in-game menu (PDA). Accessible any time โ€” on foot, in a vehicle, or while paused.

**Left sidebar** โ€” live farm-wide snapshot updated each time the page opens:
- Fields tracked and fields owned
- Average N, P, K, pH, and Organic Matter across all your fields
- Weed, Pest, and Disease pressure field counts
- Fields currently below fertilizer threshold

**Two tabs:**

| Tab | What you see |
|---|---|
| **Farm Overview** | Full list of every tracked field โ€” N%, P%, K%, pH, OM, and an overall status badge. Click any row to open a per-field detail popup |
| **Treatment Plan** | Fields sorted by urgency (worst first) with the primary deficiency or pressure identified. Minor-urgency fields grouped at the bottom |

The interactive **Soil Map overlay** lives in the native PDA Map (ESC โ†’ Map). Use the sidebar to select and cycle overlay layers (Nitrogen, Phosphorus, Potassium, pH, OM, Weed, Pest, Disease) without leaving the game map.

**Field Detail popup** (click any row in Farm Overview or Treatment Plan):
- All five nutrient values with colour-coded Good / Fair / Poor status
- Weed, Pest, and Disease pressure โ€” asterisk (`*`) shown when a protection product is active
- Last harvested crop and crop rotation status (Legume Bonus / Fatigue / OK)

---

## โš™๏ธ Settings

Settings are split across two places.

### ESC โ†’ Settings โ†’ Game Settings โ†’ Soil & Fertilizer

Three core settings live here so you can reach them quickly:

| Setting | Options | What it does |
|---|---|---|
| **Enable mod** | On / Off | Stops all simulation when off |
| **Notifications** | On / Off | Pop-up alerts when fields get critically low |
| **Debug mode** | On / Off | Verbose logging to the game log |

### SHIFT+O โ€” Full Settings Panel

Press **`Shift+O`** anywhere in-game (on foot or in a vehicle) to open the full settings panel. Settings are organised into three categories. The panel also includes an **Admin** button (previously labelled *Drain Vehicle*) โ€” pressing it opens a dedicated admin page with all console commands listed and executable as buttons directly in-game:

**๐ŸŒฑ Simulation** โ€” controls the core simulation behaviour

| Setting | Options | What it does |
|---|---|---|
| **Fertility system** | On / Off | Toggles the entire nutrient and pH simulation |
| **Nutrient cycles** | On / Off | Enables crop depletion and natural recovery |
| **Fertilizer costs** | On / Off | Adds running costs to fertilizer application |
| **Seasonal effects** | On / Off | Spring nitrogen boost and fall nitrogen loss |
| **Rain effects** | On / Off | Leaching and pH acidification from rain |
| **Plowing bonus** | On / Off | Whether plowing improves OM and pH |
| **Residue incorporation** | On / Off | Whether tillage tools release nutrients from worked-in straw residue |
| **Weed pressure** | On / Off | Track weed competition per field |
| **Pest pressure** | On / Off | Track insect pest populations per field |
| **Disease pressure** | On / Off | Track crop disease per field |
| **Crop rotation** | On / Off | Enable legume bonus and mono-crop fatigue multiplier |
| **Soil compaction** | On / Off | Heavy vehicles (โ‰ฅ 8 t) compact soil, reducing nutrient availability |
| **Imperial units** | On / Off | Sprayer rates in gal/ac and lb/ac instead of L/ha and kg/ha |
| **Difficulty** | Simple / Realistic / Hardcore | Scales depletion rate โ€” 0.7ร— / 1ร— / 1.5ร— |

**๐Ÿ–ฅ๏ธ Display / HUD** โ€” controls what you see on screen

| Setting | Options | What it does |
|---|---|---|
| **HUD enabled** | On / Off | Show or hide the soil overlay |
| **HUD position** | 6 options | Top-right, top-left, bottom-right, bottom-left, centre-right, or custom |
| **HUD colour theme** | 4 themes | Green / Blue / Amber / Mono |
| **HUD transparency** | Clear โ†’ Solid | 5 opacity levels |
| **HUD font size** | Small / Medium / Large | Scales all HUD text |
| **Auto rate control** | On / Off | Sprayer rate auto-adjusts toward the target rate for the current product |

**๐Ÿ—บ๏ธ Map** โ€” controls the PDA map overlay

| Setting | Options | What it does |
|---|---|---|
| **Active map layer** | Off / N / P / K / pH / OM / Urgency / Weed / Pest / Disease / Compaction | Nutrient layer shown on the PDA map |
| **Overlay density** | Low / Medium / High | Number of data points rendered on the map overlay โ€” Low (8k), Medium (20k), High (40k). Reduce if the map causes frame drops |

> [!NOTE]
> In multiplayer, settings are **server-authoritative** โ€” the host's settings are pushed to all clients on join. Non-admin clients can see but not change server settings. HUD display preferences are always local and can be changed by any player.

---

## ๐Ÿ–ฅ๏ธ Console Commands

Open the developer console with **`~`** and type `soilfertility` for the full list, or press **`Shift+O`** โ†’ **Admin** to access all commands as buttons directly in-game.

| Command | Arguments | Description |
|---|---|---|
| `SoilEnable` / `SoilDisable` | โ€” | Toggle the mod on or off |
| `SoilSetDifficulty` | `1` `2` `3` | Simple / Realistic / Hardcore |
| `SoilSetFertility` | `true` / `false` | Toggle fertility simulation |
| `SoilSetNutrients` | `true` / `false` | Toggle nutrient cycles |
| `SoilSetFertilizerCosts` | `true` / `false` | Toggle fertilizer costs |
| `SoilSetNotifications` | `true` / `false` | Toggle alert popups |
| `SoilSetSeasonalEffects` | `true` / `false` | Toggle seasonal N changes |
| `SoilSetRainEffects` | `true` / `false` | Toggle rain leaching and acidification |
| `SoilSetPlowingBonus` | `true` / `false` | Toggle plowing OM/pH bonus |
| `SoilDrainVehicle` | โ€” | Drain custom fill types from vehicle + implements (50% refund) |
| `SoilFieldInfo` | `` | Detailed soil readout for one field |
| `SoilFieldForecast` | `` | Yield forecast and treatment recommendations for one field |
| `SoilListFields` | โ€” | List all tracked fields with current soil values |
| `SoilShowSettings` | โ€” | Print current settings to log |
| `SoilResetSettings` | โ€” | Reset everything to defaults |
| `SoilSaveData` | โ€” | Force-save soil state now |
| `SoilDebug` | โ€” | Toggle verbose debug logging |

---

## ๐Ÿ”Œ Mod Integrations

All integrations are detected automatically at runtime and fail gracefully if the mod isn't installed.

| Mod | Behaviour |
|---|---|
| **FS25_SeasonalCropStress** | Soil pH and organic matter influence evapotranspiration rates per field. |
| **FS25_NPCFavor** | NPC neighbour favour quests can reference your fields' soil state. |
| **FS25_MoistureSystem** | Compatible โ€” both mods use independent hooks. No conflicts. |

---

## ๐Ÿ› ๏ธ Installation

**1. Download** `FS25_SoilFertilizer.zip` from the [latest release](https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/releases/latest).

**2. Copy** the ZIP (do not extract) to your mods folder:

| Platform | Path |
|---|---|
| ๐ŸชŸ Windows | `%USERPROFILE%\Documents\My Games\FarmingSimulator2025\mods\` |
| ๐ŸŽ macOS | `~/Library/Application Support/FarmingSimulator2025/mods/` |

**3. Enable** *Realistic Soil & Fertilizer* in the in-game mod manager.

**4. Load** any career save โ€” soil data initialises automatically on first load.

---

## ๐ŸŽฎ Quick Start

```
1. Load your farm โ€” the soil HUD appears in the top-right corner
2. Drive to any field โ€” nutrient values update as you move
3. Amber or red values โ†’ that field needs fertilizer or lime
4. Apply lime first โ€” it unlocks the full value of everything else
5. Apply fertilizer โ†’ watch N/P/K climb in real time
6. Press K โ†’ open the full farm soil report sorted by urgency
7. Press Shift+O โ†’ open the full settings panel to tune the simulation
8. Let a field go fallow for a season โ†’ it slowly recovers on its own
9. At harvest โ†’ healthy soil means the full yield you worked for
```

> [!TIP]
> Fields start slightly acidic and with moderate nutrients โ€” matching the base game's starting state. Lime first, then fertilize. Nutrients in acidic soil have reduced availability no matter how much product you apply.

---

## โš ๏ธ Known Limitations

| Issue | Details |
|---|---|
| ๐ŸŒฑ **Base game lime indicator** | The base game's "needs liming" flag is a separate system from our pH tracking. Both update when you apply lime through the sprayer, but the indicators can show different states until the field is treated. Workaround: disable the base game's liming requirement in **Settings โ†’ Farming โ†’ Liming** to rely solely on our HUD. |
| ๐ŸŒ **Multiplayer** | Soil simulation runs on the server only. Clients receive synced state on join and after each harvest or fertiliser event. |
| โš ๏ธ **Section Control** | Section-based nutrient credit scaling works correctly. When outer boom sections are shut off at field boundaries, nutrient credit scales to the active fraction. |

---

## ๐Ÿค Contributing

Found a bug? [Open an issue](https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/issues/new/choose) โ€” the template will walk you through what to include.

Want to contribute code? PRs are welcome on the `development` branch. See `CLAUDE.md` in the repo root for architecture notes and naming conventions.

---

## ๐Ÿ“ License

This mod is licensed under **[CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/)**.

You may share it in its original form with attribution. You may not sell it, modify and redistribute it, or reupload it under a different name or authorship. Contributions via pull request are explicitly permitted and encouraged.

**Author:** TisonK ย ยทย  **Version:** 2.2.3.6

ยฉ 2026 TisonK โ€” See [LICENSE](LICENSE) for full terms.

---

*Farming Simulator 25 is published by GIANTS Software. This is an independent fan creation, not affiliated with or endorsed by GIANTS Software.*

*Your soil remembers everything.* ๐ŸŒฑ