{"id":43592680,"url":"https://github.com/thecodingdad-tisonk/fs25_soilfertilizer","last_synced_at":"2026-04-12T09:17:56.387Z","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-04-03T02:49:19.000Z","size":39307,"stargazers_count":34,"open_issues_count":1,"forks_count":5,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-03T03:20:58.468Z","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-04-02T17:36:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer","commit_stats":null,"previous_names":["thecodingdad-tisonk/fs25_soilfertilizer"],"tags_count":38,"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":31411659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T19:29:44.979Z","status":"ssl_error","status_checked_at":"2026-04-04T19:29:11.535Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-04-10T08:12:31.731Z","avatar_url":"https://github.com/TheCodingDad-TisonK.png","language":"Lua","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## ✨ 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### 🐛 Field Health System\n\nThree pressure scores (0–100) track threats to each field independently. Left unchecked they reduce your yield at harvest. 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 | −20% |\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\nSix nutrient products, each with a different job:\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** | ●●○○○ | ●●○○○ | ●●●○○ | ✓ builds | Slow-release, builds OM over time |\n| **Slurry** | ●●●○○ | ●●○○○ | ●●●●○ | ✓ builds | Liquid organic, strong K |\n| **Digestate** | ●●●○○ | ●●○○○ | ●●●●○ | ✓ builds | Biogas byproduct, well-rounded |\n| **Lime** | — | — | — | — | Only raises pH — but nothing else works properly without it |\n\n\u003e [!NOTE]\n\u003e Organic matter builds slowly with manure, slurry, and digestate — it takes many seasons to accumulate meaningfully. Soil with high OM buffers pH swings and slows nutrient loss from rain.\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\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 affected\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.\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---\n\n## ⚙️ Settings\n\nOpen via **ESC → Settings → Game Settings → Soil \u0026 Fertilizer**.\n\n| Setting | Options | What it does |\n|---|---|---|\n| **Enable mod** | On / Off | Stops all simulation when off |\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| **Notifications** | On / Off | Pop-up alerts when fields get critically low |\n| **Seasonal effects** | On / Off | Spring 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| **Weed pressure** | On / Off | Track weed competition per field — apply herbicide to reduce |\n| **Pest pressure** | On / Off | Track insect pest populations per field — apply insecticide to reduce |\n| **Disease pressure** | On / Off | Track crop disease per field — apply fungicide to reduce |\n| **Difficulty** | Simple / Realistic / Hardcore | Scales depletion rate — 0.7× / 1× / 1.5× |\n| **HUD enabled** | On / Off | Show or hide the soil overlay |\n| **HUD position** | 5 presets | Top-right, top-left, bottom-right, bottom-left, centre-right |\n| **HUD colour theme** | 4 themes | Green / Blue / Amber / Mono |\n| **HUD transparency** | Clear → Solid | 5 levels from 25% to 100% opacity |\n| **HUD font size** | Small / Medium / Large | Scales all HUD text |\n| **Compact mode** | On / Off | One line per nutrient instead of full bars |\n\n\u003e [!NOTE]\n\u003e In multiplayer, settings are **server-authoritative** — the host's settings are pushed to all clients on join. Clients cannot override locked settings.\n\n---\n\n## 🖥️ Console Commands\n\nOpen the developer console with **`~`** and type `soilfertility` for the full list.\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| `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| **Precision Farming DLC** | Compatible — both mods run independently. No conflicts. |\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\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. Let a field go fallow for a season → it slowly recovers on its own\n8. 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| 🔬 **Precision Farming** | Compatible — both mods track nutrients independently. No conflicts. |\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:** 1.5.2.0\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","funding_links":["https://paypal.me/TheCodingDad"],"categories":[],"sub_categories":[],"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"}