{"id":43592680,"url":"https://github.com/thecodingdad-tisonk/fs25_soilfertilizer","last_synced_at":"2026-05-29T10:00:52.204Z","repository":{"id":336102432,"uuid":"1146963867","full_name":"TheCodingDad-TisonK/FS25_SoilFertilizer","owner":"TheCodingDad-TisonK","description":"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.","archived":false,"fork":false,"pushed_at":"2026-05-23T09:05:22.000Z","size":497149,"stargazers_count":64,"open_issues_count":3,"forks_count":10,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-05-23T10:37:30.242Z","etag":null,"topics":["agriculture","farming-simulator","farming-simulator-25","fertilizer","fs25","fs25-mod","game-mod","giants-engine","lua","modding","nutrients","simulation","soil"],"latest_commit_sha":null,"homepage":"https://discord.gg/8FcgxwJ3dM","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheCodingDad-TisonK.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-01T00:47:29.000Z","updated_at":"2026-05-23T08:13:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"a247de03-ca43-4246-bba2-8eab14e278b1","html_url":"https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer","commit_stats":null,"previous_names":["thecodingdad-tisonk/fs25_soilfertilizer"],"tags_count":123,"template":false,"template_full_name":null,"purl":"pkg:github/TheCodingDad-TisonK/FS25_SoilFertilizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodingDad-TisonK%2FFS25_SoilFertilizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodingDad-TisonK%2FFS25_SoilFertilizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodingDad-TisonK%2FFS25_SoilFertilizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodingDad-TisonK%2FFS25_SoilFertilizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheCodingDad-TisonK","download_url":"https://codeload.github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodingDad-TisonK%2FFS25_SoilFertilizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33646428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agriculture","farming-simulator","farming-simulator-25","fertilizer","fs25","fs25-mod","game-mod","giants-engine","lua","modding","nutrients","simulation","soil"],"created_at":"2026-02-04T02:13:55.607Z","updated_at":"2026-05-29T10:00:52.198Z","avatar_url":"https://github.com/TheCodingDad-TisonK.png","language":"Lua","funding_links":["https://paypal.me/TheCodingDad"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🌾 FS25 Soil \u0026 Fertilizer\n### *Realistic Nutrient Management*\n\n[![Downloads](https://img.shields.io/github/downloads/TheCodingDad-TisonK/FS25_SoilFertilizer/total?style=for-the-badge\u0026logo=github\u0026color=4caf50\u0026logoColor=white)](https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/releases)\n[![Release](https://img.shields.io/github/v/release/TheCodingDad-TisonK/FS25_SoilFertilizer?style=for-the-badge\u0026logo=tag\u0026color=76c442\u0026logoColor=white)](https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/releases/latest)\n[![License](https://img.shields.io/badge/license-CC%20BY--NC--ND%204.0-lightgrey?style=for-the-badge\u0026logo=creativecommons\u0026logoColor=white)](https://creativecommons.org/licenses/by-nc-nd/4.0/)\n\u003ca href=\"https://paypal.me/TheCodingDad\"\u003e\n  \u003cimg src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif\" alt=\"Donate via PayPal\" height=\"50\"\u003e\n\u003c/a\u003e\n\n\u003cbr\u003e\n\n\u003e *\"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.\"*\n\n\u003cbr\u003e\n\n**In base FS25, every field is born equal and stays that way forever. This mod remembers.**\n\nEach 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.\n\n`Singleplayer` • `Multiplayer (server-authoritative)` • `Persistent saves` • `26 languages`\n\n\u003c/div\u003e\n\n\u003e [!TIP]\n\u003e 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)**!\n\n---\n\n## 🆕 What's New in v2.2.3.x\n\n### Smart Sensor System\nA 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**.\n\n### See \u0026 Spray System\nA 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.\n\n### Variable Rate Application\nA 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.\n\n### Free Panel Layout\nEnable **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.\n\n### v2.2.3.2 — Hotfix\n- System panels now collapse cleanly — stacked panels below no longer overlap when a panel above them is collapsed\n- System panels now hide when the main HUD is toggled off with the H key\n- 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\n\n### v2.2.3.1 — Hotfix\n- Fixed `sensorPanel` naming mismatch that prevented Smart Sensor panel from being dragged independently\n- Admin page Smart Systems / Vehicle Tools nav buttons moved to the top — they were previously cut off below the visible area\n- Disabled system panels now correctly contribute 0 height to stacked layout (no gaps)\n- System panels are now visible and draggable in Shift+H edit mode even without being in a sprayer\n- System panels are now correctly hidden when the SF settings panel (Shift+O) is open\n\n---\n\n## ✨ Features\n\n### 🧪 Per-Field Soil Chemistry\n\nFive values tracked independently for every field on the map:\n\n| | Nutrient | Role | Depleted By |\n|---|---|---|---|\n| 🟢 | **Nitrogen (N)** | Growth and leaf mass | Harvest, rain leaching, fall season |\n| 🔵 | **Phosphorus (P)** | Root development and energy | Harvest |\n| 🟡 | **Potassium (K)** | Water regulation and yield quality | Harvest, rain leaching |\n| 🟤 | **Organic Matter (OM)** | Soil structure and nutrient buffering | Builds slowly via manure and plowing |\n| ⚗️ | **pH** | Unlocks nutrient availability | Rain acidification — raised by lime and plowing |\n\nAll 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.\n\n### 🌾 Crop-Specific Extraction\n\nDifferent crops take different amounts from your soil. Push the same field too hard and it shows.\n\n| Crop | N drain | P drain | K drain | Notes |\n|---|---|---|---|---|\n| 🥔 Potato | ●●●●● | ●●●● | ●●●●● | Extreme K demand — must rotate |\n| 🟣 Sugar Beet | ●●●●○ | ●●●○○ | ●●●●● | Heaviest K of any crop |\n| 🌻 Sunflower | ●●●●○ | ●●●○○ | ●●●●○ | Moderate-high all round |\n| 🌼 Canola | ●●●●○ | ●●●○○ | ●●●●○ | High N demand, oilseed crop |\n| 🫘 Soybean | ●●●●● | ●●●○○ | ●●●○○ | Highest N — partial fixation assumed |\n| 🌽 Maize | ●●●●○ | ●●●○○ | ●●●●○ | Large biomass, needs N and K |\n| 🌾 Wheat | ●●●○○ | ●●○○○ | ●●●○○ | Moderate — manageable with rotation |\n| 🌾 Barley / Oats / Rye | ●●●○○ | ●●○○○ | ●●●○○ | Light feeders, good rotation crops |\n| 🫛 Peas / Beans | ●●●●○ | ●●●○○ | ●●●●○ | Legumes — still need balanced soil |\n\n### 🔄 Crop Rotation\n\nThe mod tracks the last **3 harvested crops** per field and actively rewards good rotation practice — and penalises lazy mono-cropping.\n\n| Situation | Effect |\n|---|---|\n| **Legume → Non-legume** (soybean, peas, or beans last season) | +0.5 N/day for the first 3 days of spring — nitrogen fixation carry-over |\n| **Same crop two seasons running** | ×1.15 extraction multiplier on that harvest — 15% extra depletion across N, P, and K |\n| **Healthy alternation** | No modifier in either direction |\n\nThe 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.\n\n### 🐛 Field Health System\n\nThree 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.\n\n| Pressure | Source | Treatment | Resets naturally | Max penalty |\n|----------|--------|-----------|-----------------|-------------|\n| 🌿 **Weed** | Grows daily — peaks without tillage | `HERBICIDE` spray | Any tillage / plowing | −30% |\n| 🐞 **Pest** | Insects — peaks in summer | `INSECTICIDE` spray | Harvest disperses population | −30% |\n| 🍄 **Disease** | Fungal — driven by rain | `FUNGICIDE` spray | 3+ dry days cause natural decay | −25% |\n\nAll three are visible in the HUD and the full Soil Report. Each can be toggled off in settings.\n\n### 💊 Fertilizer Types\n\n25+ products tracked, each with a different nutrient job.\n\n**Base game (always available):**\n\n| Fertilizer | N | P | K | Organic Matter | Notes |\n|---|---|---|---|---|---|\n| **Liquid Fertilizer** | ●●●○○ | ●●○○○ | ●●●○○ | — | Fast-acting, balanced NPK |\n| **Solid Fertilizer** | ●●●●○ | ●●●○○ | ●●●○○ | — | Higher N/P, granular |\n| **Manure** | ●●○○○ | ●○○○○ | ●●○○○ | ✓ | Slow-release, builds OM over time |\n| **Slurry** | ●●●○○ | ●●○○○ | ●●●●○ | ✓ | Liquid organic, K-dominant (real N:P:K ratio) |\n| **Digestate** | ●●●○○ | ●●○○○ | ●●●●○ | ✓ | Biogas byproduct, higher N availability than raw manure |\n| **Lime** | — | — | — | — | Only raises pH — but nothing else works properly without it |\n\n**Custom liquid fertilizers (purchasable IBC liquid tanks in shop):**\n\n| Product | Type | Primary benefit |\n|---|---|---|\n| UAN-32 / UAN-28 | Liquid nitrogen | Highest N/L of liquid sources |\n| Anhydrous Ammonia | Liquid nitrogen | Maximum N concentration |\n| Starter 10-34-0 | Liquid P | In-furrow high-P starter |\n| Liquid Urea | Liquid N | Dissolved urea for sprayer application |\n| Liquid AMS | Liquid N | Liquid ammonium sulphate |\n| Liquid MAP | Liquid P+N | High-P liquid blend |\n| Liquid DAP | Liquid P+N | Liquid DAP equivalent |\n| Liquid Potash | Liquid K | Dissolved potassium for sprayers |\n| Insecticide | Liquid | Pest pressure treatment (sprayer) |\n| Fungicide | Liquid | Disease pressure treatment (sprayer) |\n| Liquid Lime | Liquid pH agent | Raises pH via sprayer — alternative to dry lime |\n\n**Custom dry/solid fertilizers (purchasable big bags in shop):**\n\n| Product | Type | Primary benefit |\n|---|---|---|\n| Urea / AMS | Dry nitrogen | Standard granular N sources |\n| MAP / DAP | Dry P+N | Phosphorus-focused blends |\n| Potash | Dry K | Pure potassium supplement |\n| Gypsum | Dry amendment | Lowers pH and improves soil structure |\n| Compost | Organic amendment | Best OM builder per application |\n| Biosolids | Organic fertilizer | Municipal organic N+P amendment |\n| Chicken Manure | Organic fertilizer | Concentrated N+P poultry litter |\n| Pelletized Manure | Organic fertilizer | Dense balanced NPK+OM — highest analysis |\n\n**Organic / soil amendments (nutrient profiles):**\n\n| Product | Application | N | P | K | OM | Notes |\n|---|---|---|---|---|---|---|\n| **Compost** | Spreader | Low | Low | Low | ●●●●● | Best OM builder per litre |\n| **Biosolids** | Spreader | ●●○○○ | ●●○○○ | Low | ✓ | Municipal organic amendment |\n| **Chicken Manure** | Spreader | ●●●○○ | ●●●○○ | ●●○○○ | ✓ | Concentrated poultry litter |\n| **Pelletized Manure** | Spreader | ●●●●○ | ●●●○○ | ●●●●○ | ✓ | Dense balanced organic NPK |\n| **Gypsum** | Spreader | — | — | — | Low | Lowers pH, minor OM gain |\n| **Liquid Lime** | Sprayer | — | — | — | — | Raises pH via sprayer equipment |\n\n\u003e [!NOTE]\n\u003e Organic matter builds slowly — it takes many seasons to accumulate meaningfully. Soil with high OM buffers pH swings and slows nutrient loss from rain.\n\n### 🚜 Soil Compaction\n\nHeavy vehicles compact the soil they drive over. Compaction is tracked per field (0–100%) and\ngradually reduces how effectively the field can absorb nutrients.\n\n| Threshold | Vehicle weight | Effect |\n|---|---|---|\n| **Compaction hit** | ≥ 8 t total (tractor + implement) | +2% compaction per day (once per game day) |\n| **Subsoiler pass** | Any cultivator with `isSubsoiler = true` | −15% compaction per pass |\n| **Natural decay** | Automatically | −0.5% per game day |\n\nAt maximum compaction (100%), the field's nutrient extraction penalty reaches **20%** — compacted\nsoil binds nutrients and reduces their availability to crops.\n\nThe HUD shows compaction as a colour-coded row (green \u003c 20%, amber 20–60%, red \u003e 60%). It also\nappears as **overlay layer 10** on the in-game map. Compaction is saved to `soilData.xml` and\nsynced to all clients in multiplayer. Toggle it in settings if you prefer to skip this mechanic.\n\n### 📊 Coverage Tracking\n\nThe sprayer now tracks which individual soil cells have been covered in an application pass.\nCoverage fraction is shown live in the HUD as `Coverage: X% / 70% min`. The fully-treated\nfield notification is gated on achieving **70% minimum coverage** — a single-pass clip across\na field corner no longer triggers a false \"field treated\" popup.\n\n### 🌦️ Environmental Effects\n\nThe mod isn't just about what you put in — it's about what the world takes out.\n\n| Effect | What happens |\n|---|---|\n| 🌧️ **Rain leaching** | Nitrogen and potassium wash out during heavy rain. Phosphorus binds tightly and barely moves. |\n| 🍂 **Fall nitrogen loss** | Biological activity slows in autumn, pulling N levels down naturally. |\n| 🌱 **Spring nitrogen boost** | Microbial activity picks back up in spring, recovering a small amount of N. |\n| 🌧️ **pH acidification** | Rain is slightly acidic. Ignore liming long enough and your soil will show it. |\n| 🌾 **Fallow recovery** | Fields left unplanted for 7+ days slowly recover nutrients on their own. |\n| 🚜 **Plowing bonus** | Aerates soil, nudging pH toward neutral and boosting organic matter mixing. |\n| 🌿 **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. |\n\n### 🤖 Smart Precision Systems (VWW sprayer required)\n\nThree 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.\n\n| System | What it does | Keybind |\n|---|---|---|\n| **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) |\n| **See \u0026 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) |\n| **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) |\n\nAll three require a VWW-capable sprayer and must be enabled individually via **Settings → Admin → Smart Systems**.\n\n**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`.\n\n### 📊 Soil HUD\n\nA compact overlay shows the current field's soil status while you're working. Colour-coded indicators make problems visible at a glance:\n\n🟢 **Green** — healthy, no action needed \u0026nbsp;|\u0026nbsp; 🟡 **Amber** — getting low, plan ahead \u0026nbsp;|\u0026nbsp; 🔴 **Red** — depleted, yield is being reduced\n\nThe **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.\n\nAdditional 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.\n\nFully 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.\n\n### 📋 Full Farm Soil Report\n\nPress **`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.\n\n### 📱 Soil PDA Page\n\nPress **`Shift+P`** to open the dedicated Soil \u0026 Fertilizer page inside the FS25 in-game menu (PDA). Accessible any time — on foot, in a vehicle, or while paused.\n\n**Left sidebar** — live farm-wide snapshot updated each time the page opens:\n- Fields tracked and fields owned\n- Average N, P, K, pH, and Organic Matter across all your fields\n- Weed, Pest, and Disease pressure field counts\n- Fields currently below fertilizer threshold\n\n**Two tabs:**\n\n| Tab | What you see |\n|---|---|\n| **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 |\n| **Treatment Plan** | Fields sorted by urgency (worst first) with the primary deficiency or pressure identified. Minor-urgency fields grouped at the bottom |\n\nThe 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.\n\n**Field Detail popup** (click any row in Farm Overview or Treatment Plan):\n- All five nutrient values with colour-coded Good / Fair / Poor status\n- Weed, Pest, and Disease pressure — asterisk (`*`) shown when a protection product is active\n- Last harvested crop and crop rotation status (Legume Bonus / Fatigue / OK)\n\n---\n\n## ⚙️ Settings\n\nSettings are split across two places.\n\n### ESC → Settings → Game Settings → Soil \u0026 Fertilizer\n\nThree core settings live here so you can reach them quickly:\n\n| Setting | Options | What it does |\n|---|---|---|\n| **Enable mod** | On / Off | Stops all simulation when off |\n| **Notifications** | On / Off | Pop-up alerts when fields get critically low |\n| **Debug mode** | On / Off | Verbose logging to the game log |\n\n### SHIFT+O — Full Settings Panel\n\nPress **`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:\n\n**🌱 Simulation** — controls the core simulation behaviour\n\n| Setting | Options | What it does |\n|---|---|---|\n| **Fertility system** | On / Off | Toggles the entire nutrient and pH simulation |\n| **Nutrient cycles** | On / Off | Enables crop depletion and natural recovery |\n| **Fertilizer costs** | On / Off | Adds running costs to fertilizer application |\n| **Seasonal effects** | On / Off | Spring nitrogen boost and fall nitrogen loss |\n| **Rain effects** | On / Off | Leaching and pH acidification from rain |\n| **Plowing bonus** | On / Off | Whether plowing improves OM and pH |\n| **Residue incorporation** | On / Off | Whether tillage tools release nutrients from worked-in straw residue |\n| **Weed pressure** | On / Off | Track weed competition per field |\n| **Pest pressure** | On / Off | Track insect pest populations per field |\n| **Disease pressure** | On / Off | Track crop disease per field |\n| **Crop rotation** | On / Off | Enable legume bonus and mono-crop fatigue multiplier |\n| **Soil compaction** | On / Off | Heavy vehicles (≥ 8 t) compact soil, reducing nutrient availability |\n| **Imperial units** | On / Off | Sprayer rates in gal/ac and lb/ac instead of L/ha and kg/ha |\n| **Difficulty** | Simple / Realistic / Hardcore | Scales depletion rate — 0.7× / 1× / 1.5× |\n\n**🖥️ Display / HUD** — controls what you see on screen\n\n| Setting | Options | What it does |\n|---|---|---|\n| **HUD enabled** | On / Off | Show or hide the soil overlay |\n| **HUD position** | 6 options | Top-right, top-left, bottom-right, bottom-left, centre-right, or custom |\n| **HUD colour theme** | 4 themes | Green / Blue / Amber / Mono |\n| **HUD transparency** | Clear → Solid | 5 opacity levels |\n| **HUD font size** | Small / Medium / Large | Scales all HUD text |\n| **Auto rate control** | On / Off | Sprayer rate auto-adjusts toward the target rate for the current product |\n\n**🗺️ Map** — controls the PDA map overlay\n\n| Setting | Options | What it does |\n|---|---|---|\n| **Active map layer** | Off / N / P / K / pH / OM / Urgency / Weed / Pest / Disease / Compaction | Nutrient layer shown on the PDA map |\n| **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 |\n\n\u003e [!NOTE]\n\u003e 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.\n\n---\n\n## 🖥️ Console Commands\n\nOpen 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.\n\n| Command | Arguments | Description |\n|---|---|---|\n| `SoilEnable` / `SoilDisable` | — | Toggle the mod on or off |\n| `SoilSetDifficulty` | `1` `2` `3` | Simple / Realistic / Hardcore |\n| `SoilSetFertility` | `true` / `false` | Toggle fertility simulation |\n| `SoilSetNutrients` | `true` / `false` | Toggle nutrient cycles |\n| `SoilSetFertilizerCosts` | `true` / `false` | Toggle fertilizer costs |\n| `SoilSetNotifications` | `true` / `false` | Toggle alert popups |\n| `SoilSetSeasonalEffects` | `true` / `false` | Toggle seasonal N changes |\n| `SoilSetRainEffects` | `true` / `false` | Toggle rain leaching and acidification |\n| `SoilSetPlowingBonus` | `true` / `false` | Toggle plowing OM/pH bonus |\n| `SoilDrainVehicle` | — | Drain custom fill types from vehicle + implements (50% refund) |\n| `SoilFieldInfo` | `\u003cfieldId\u003e` | Detailed soil readout for one field |\n| `SoilFieldForecast` | `\u003cfieldId\u003e` | Yield forecast and treatment recommendations for one field |\n| `SoilListFields` | — | List all tracked fields with current soil values |\n| `SoilShowSettings` | — | Print current settings to log |\n| `SoilResetSettings` | — | Reset everything to defaults |\n| `SoilSaveData` | — | Force-save soil state now |\n| `SoilDebug` | — | Toggle verbose debug logging |\n\n---\n\n## 🔌 Mod Integrations\n\nAll integrations are detected automatically at runtime and fail gracefully if the mod isn't installed.\n\n| Mod | Behaviour |\n|---|---|\n| **FS25_SeasonalCropStress** | Soil pH and organic matter influence evapotranspiration rates per field. |\n| **FS25_NPCFavor** | NPC neighbour favour quests can reference your fields' soil state. |\n| **FS25_MoistureSystem** | Compatible — both mods use independent hooks. No conflicts. |\n\n---\n\n## 🛠️ Installation\n\n**1. Download** `FS25_SoilFertilizer.zip` from the [latest release](https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/releases/latest).\n\n**2. Copy** the ZIP (do not extract) to your mods folder:\n\n| Platform | Path |\n|---|---|\n| 🪟 Windows | `%USERPROFILE%\\Documents\\My Games\\FarmingSimulator2025\\mods\\` |\n| 🍎 macOS | `~/Library/Application Support/FarmingSimulator2025/mods/` |\n\n**3. Enable** *Realistic Soil \u0026 Fertilizer* in the in-game mod manager.\n\n**4. Load** any career save — soil data initialises automatically on first load.\n\n---\n\n## 🎮 Quick Start\n\n```\n1. Load your farm — the soil HUD appears in the top-right corner\n2. Drive to any field — nutrient values update as you move\n3. Amber or red values → that field needs fertilizer or lime\n4. Apply lime first — it unlocks the full value of everything else\n5. Apply fertilizer → watch N/P/K climb in real time\n6. Press K → open the full farm soil report sorted by urgency\n7. Press Shift+O → open the full settings panel to tune the simulation\n8. Let a field go fallow for a season → it slowly recovers on its own\n9. At harvest → healthy soil means the full yield you worked for\n```\n\n\u003e [!TIP]\n\u003e 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.\n\n---\n\n## ⚠️ Known Limitations\n\n| Issue | Details |\n|---|---|\n| 🌱 **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. |\n| 🌐 **Multiplayer** | Soil simulation runs on the server only. Clients receive synced state on join and after each harvest or fertiliser event. |\n| ⚠️ **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. |\n\n---\n\n## 🤝 Contributing\n\nFound a bug? [Open an issue](https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/issues/new/choose) — the template will walk you through what to include.\n\nWant to contribute code? PRs are welcome on the `development` branch. See `CLAUDE.md` in the repo root for architecture notes and naming conventions.\n\n---\n\n## 📝 License\n\nThis mod is licensed under **[CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/)**.\n\nYou 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.\n\n**Author:** TisonK \u0026nbsp;·\u0026nbsp; **Version:** 2.2.3.6\n\n© 2026 TisonK — See [LICENSE](LICENSE) for full terms.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n*Farming Simulator 25 is published by GIANTS Software. This is an independent fan creation, not affiliated with or endorsed by GIANTS Software.*\n\n*Your soil remembers everything.* 🌱\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodingdad-tisonk%2Ffs25_soilfertilizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecodingdad-tisonk%2Ffs25_soilfertilizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodingdad-tisonk%2Ffs25_soilfertilizer/lists"}