Skip to content

Releases: SimGamerJen/FS25_CropControlOverride

FS25 Crop Control Override v2.0.0-beta.1

22 May 16:51

Choose a tag to compare

FS25 Crop Control Override v2.0.0-beta.1

This is the first beta release of the 2.0.0 editable GUI branch of Crop Control Override for Farming Simulator 25.

Crop Control Override manages crop availability and NPC crop behaviour on a per-save basis. It lets you control which crops are available, which crops NPC farmers may plant, and whether NPC crop use should be limited by actual field size.

This beta is promoted from the validated alpha.101 build with no functional changes.

Please test on copied saves first and keep backups of important savegames.

Highlights

  • Editable FS25-style GUI opened with ALT+C
  • Per-save crop policy XML support
  • Player crop enable/disable rules
  • NPC crop enable/disable rules
  • NPC crop field-size limits using actual field area
  • Max Field display shown in hectares and acres
  • Colour-coded crop rules table
  • Guarded APPLY / FORCE APPLY workflow
  • DISCARD for staged GUI edits
  • SAVE DEFAULTS TO CONFIG.XML with automatic backup
  • LOAD DEFAULTS to import template config.xml into the active save
  • VALIDATION tab with blocked NPC field details
  • GUI cleanup using RESET SCOPE
  • Blocked-field reset by:
    • ALL
    • CROP: <crop>
    • FIELD: <fieldId> <crop>
  • German and French modDesc.xml descriptions
  • ModHub TestRunner-focused package structure

Important behaviour

APPLY writes to the active per-save XML

GUI APPLY and FORCE APPLY write to:

modSettings/FS25_CropControlOverride/saves/savegameX.xml

They do not update the template config.xml unless you explicitly use SAVE DEFAULTS TO CONFIG.XML.

LOAD DEFAULTS imports template rules into the current save

The GUI footer includes:

LOAD DEFAULTS

This reads:

modSettings/FS25_CropControlOverride/config.xml

and writes those rules into the active save XML.

APPLY validation is crop-specific

When editing one crop, APPLY checks the edited crop only.

Existing blocked fields from unrelated crops remain visible under VALIDATION, but they no longer prevent changes to a different crop.

Max Field uses actual field area

Max Field uses actual field/cultivated area where available, not farmland/plot size.

This avoids incorrectly blocking small fields that sit inside larger farmland plots.

The display uses both hectares and acres for readability, while the stored config value remains hectares-only.

GUI workflow

Open the GUI with:

ALT+C

Main tab order:

ALL RULES | DISABLED | NPC DISABLED | SIZE LIMITED | VALIDATION | SUMMARY | HELP

Normal rule editing:

  1. Select a crop in ALL RULES
  2. Stage the changes in the right-side details panel
  3. Use APPLY for safe changes
  4. Use FORCE APPLY only when deliberately creating blocked NPC fields
  5. Review VALIDATION
  6. Use RESET SCOPE, RESET BLOCKED DRY-RUN, then CONFIRM RESET if cleanup is needed

Validation and cleanup

The VALIDATION tab shows blocked NPC fields, including:

  • field ID
  • crop
  • actual field size
  • blocking reason

Cleanup is guarded:

RESET SCOPE
RESET BLOCKED DRY-RUN
CONFIRM RESET

RESET SCOPE cycles through:

ALL
CROP: <crop>
FIELD: <fieldId> <crop>

RESET BLOCKED DRY-RUN does not modify the save state.

CONFIRM RESET only appears after a dry-run finds blocked fields for the selected scope.

Useful console commands

ccoGui
ccoStatus
ccoWhichConfig
ccoReload
ccoValidateSave
ccoScanBlocked
ccoResetBlocked dryrun
ccoResetBlocked
ccoFieldSizeProbe <FIELD_ID>
ccoHelp

Testing notes

Please report:

  • GUI layout or rendering issues
  • crops appearing in the wrong filtered tab
  • validation mismatches
  • blocked NPC fields not appearing as expected
  • Save Defaults or Load Defaults issues
  • any case where APPLY does not target saves/savegameX.xml
  • reset scope issues with ALL, CROP, or FIELD
  • actual field-size calculation issues
  • log warnings or script errors

Attach the relevant log.txt section where possible.

v2.0.0-alpha.97

22 May 12:12
3cdea5f

Choose a tag to compare

v2.0.0-alpha.97 Pre-release
Pre-release

FS25 Crop Control Override v2.0.0-alpha.97

This is an alpha pre-release of the 2.0.0 line of Crop Control Override for Farming Simulator 25.

This build introduces the current editable GUI workflow, per-save crop policy management, NPC crop control, validation reporting, field-size limits based on actual field area, and guarded blocked-field cleanup by ALL, CROP, or individual FIELD scope.

This is still an alpha build. Please test on copied saves first and keep backups of important savegames.

Highlights

  • Editable FS25-style GUI opened with ALT+C
  • Per-save crop policy XML support
  • Player crop enable/disable rules
  • NPC crop enable/disable rules
  • NPC crop field-size limits using actual field area
  • Colour-coded crop rules table
  • Guarded APPLY / FORCE APPLY workflow
  • DISCARD for staged GUI edits
  • SAVE DEFAULTS TO CONFIG.XML with automatic backup
  • LOAD DEFAULTS to import template config.xml into the active save
  • VALIDATION tab with blocked NPC field details
  • GUI cleanup using RESET SCOPE
  • Blocked-field reset by:
    • ALL
    • CROP: <crop>
    • FIELD: <fieldId> <crop>
  • German and French modDesc.xml descriptions
  • ModHub TestRunner-compatible icon/modDesc structure

Important changes since earlier alpha builds

APPLY now targets the active per-save XML

GUI APPLY and FORCE APPLY write to:

modSettings/FS25_CropControlOverride/saves/savegameX.xml

They should no longer update the template config.xml unless you explicitly use SAVE DEFAULTS TO CONFIG.XML.

The APPLY result message includes the target path so you can verify where the rule was written.

LOAD DEFAULTS replaces RELOAD in the GUI

The GUI footer now uses:

LOAD DEFAULTS

This imports the template config.xml into the active save and overwrites the active per-save XML.

The console command ccoReload remains available as a technical reload command.

APPLY preflight is crop-specific

When editing one crop, APPLY validation now checks the edited crop only.

Existing blocked fields from unrelated crops remain visible under VALIDATION, but they no longer prevent you from applying a change to a different crop.

MAX FIELD uses actual field area

Max Field (ha) now prefers actual field/cultivated area rather than farmland or plot area.

This avoids blocking small fields that happen to sit inside larger farmland plots.

A diagnostic command is available:

ccoFieldSizeProbe <FIELD_ID>

Scoped blocked-field cleanup

The VALIDATION tab now supports scoped cleanup:

RESET SCOPE
RESET BLOCKED DRY-RUN
CONFIRM RESET

RESET SCOPE cycles through:

ALL
CROP: <crop>
FIELD: <fieldId> <crop>

RESET BLOCKED DRY-RUN does not modify the save state.

CONFIRM RESET only appears after a dry-run finds blocked fields for the selected scope.

GUI workflow

Open the GUI with:

ALT+C

The main tab order is:

ALL RULES | DISABLED | NPC DISABLED | LIMITED | VALIDATION | SUMMARY | HELP

Select a crop row in ALL RULES, stage changes in the right-side details panel, then use:

  • APPLY to save safe changes to the active per-save XML
  • FORCE APPLY to deliberately save a rule that creates blocked NPC fields
  • DISCARD to reset staged values
  • SAVE DEFAULTS TO CONFIG.XML to export the current active rule set to the template config
  • LOAD DEFAULTS to import template defaults into the current save

Config hierarchy

Crop Control Override uses a template/per-save structure.

Template/default config:

modSettings/FS25_CropControlOverride/config.xml

Active per-save config:

modSettings/FS25_CropControlOverride/saves/savegameX.xml

APPLY and FORCE APPLY write to the active per-save XML.

SAVE DEFAULTS TO CONFIG.XML backs up the existing template config and writes the current complete active rule set back to config.xml.

LOAD DEFAULTS reads from template config.xml and writes those rules into the active per-save XML.

Validation and blocked NPC fields

The VALIDATION tab shows blocked NPC field details, including:

  • field ID
  • crop
  • actual field size
  • blocking reason

This helps distinguish between:

  • NPC-disabled crops: crops that NPCs should not plant under policy
  • blocked NPC fields: existing NPC fields that currently violate the active policy

Useful console commands

ccoGui
ccoStatus
ccoWhichConfig
ccoReload
ccoValidateSave
ccoScanBlocked
ccoResetBlocked dryrun
ccoResetBlocked
ccoFieldSizeProbe <FIELD_ID>
ccoHelp

Testing notes

Please report:

  • GUI layout or rendering issues
  • crops appearing in the wrong filtered tab
  • validation mismatches
  • blocked NPC fields not appearing as expected
  • Save Defaults or Load Defaults issues
  • any case where APPLY does not target saves/savegameX.xml
  • reset scope issues with ALL, CROP, or FIELD
  • actual field-size calculation issues
  • log warnings or script errors

Attach the relevant log.txt section where possible.

v2.0.0-alpha.90

21 May 20:52
3cdea5f

Choose a tag to compare

v2.0.0-alpha.90 Pre-release
Pre-release

FS25 Crop Control Override v2.0.0-alpha.90

This is an alpha pre-release of the 2.0.0 line of Crop Control Override for Farming Simulator 25.

This build introduces the editable GUI workflow, per-save crop policy management, NPC crop control, validation reporting, guarded field reset tools, and ModHub TestRunner-compatible packaging updates.

This is still an alpha build. Please test on copied saves first and keep backups of important savegames.

Highlights

  • Editable FS25-style GUI opened with ALT+C
  • Per-save crop policy XML support
  • Player crop enable/disable rules
  • NPC crop enable/disable rules
  • NPC field-size limits by crop
  • Colour-coded crop rules table
  • Guarded APPLY / FORCE APPLY workflow
  • DISCARD for staged GUI edits
  • VALIDATION tab with blocked NPC field details
  • GUI-based RESET BLOCKED DRY-RUN
  • GUI-based guarded CONFIRM RESET
  • SAVE DEFAULTS TO CONFIG.XML with automatic backup
  • German and French modDesc.xml descriptions
  • Updated DDS icon
  • ModHub TestRunner-compatible modDesc.xml and icon naming

Important fix in alpha.90

This build fixes a critical config-targeting issue.

Previously, when the mod created a per-save XML from the template config.xml, the active config path could remain pointed at the template file. That meant GUI APPLY could update:

modSettings/FS25_CropControlOverride/config.xml

FS25 Crop Control Override v2.0.0-alpha.80

16 May 16:01

Choose a tag to compare

FS25 Crop Control Override v2.0.0-alpha.80

This is a major alpha pre-release for the 2.0.0 line of Crop Control Override.

Version 2.0.0-alpha introduces an editable FS25-style GUI, per-save crop policy management, NPC crop rule validation, blocked NPC field reporting, and a safer guarded Apply / Force Apply workflow.

This is an alpha build. Please test on copied saves first and keep backups of important savegames.

Highlights

  • New editable in-game GUI opened with ALT+C
  • Per-save crop policy XML files
  • Player crop enable/disable rules
  • NPC crop enable/disable rules
  • NPC crop field-size limits
  • Guarded APPLY workflow
  • FORCE APPLY for deliberate policy changes that create validation issues
  • DISCARD for staged GUI changes
  • VALIDATION tab showing blocked NPC field details
  • SUMMARY and HELP tabs
  • SAVE DEFAULTS TO CONFIG.XML with automatic template config backup
  • German and French modDesc.xml descriptions added
  • Updated README and ModHub-style mod description
  • Cleaner log output for normal use

GUI workflow

Open the GUI with:

ALT+C

1.0.0.5

10 Dec 21:09
725cd6d

Choose a tag to compare

Updated to support the new fruitType, ONION

1.0.0.4

11 Oct 20:21
60ae116

Choose a tag to compare

🧩 Overview

This update re-introduces full crop disable logic from the original internal version, now powered by an external XML configuration system.
The mod reads its crop settings from modSettings/FS25_CropControlOverride/config.xml (and creates per-save versions automatically), ensuring that all disabled crops are suppressed from the start of a save — exactly as before, but now fully user-configurable.

✨ What’s New

✅ Full crop disable replication: Restores original behavior (flags: useForFieldJob, allowsSeeding, allowsHarvesting, allowsGrowing, needsSeeding, showOnPriceTable, showOnMap, allowsMapVisualization).
Disabled crops are no longer plantable, harvestable, visible on the map or price list, or used by AI.

🧾 Config-driven design:

Global template at modSettings/FS25_CropControlOverride/config.xml

Per-save file automatically created in modSettings/FS25_CropControlOverride/saves/.xml

⚙️ Immediate application:

When creating a new save, config.xml is applied before fields initialize — ensuring disabled crops never spawn.

Per-save file is then written for future loads.

🔄 Reloadable at runtime: ccoReload console command re-reads and reapplies config without restarting.

🔍 Debug tools:

ccoWhichConfig — shows which file is in use

ccoListFlags — lists all flags for each crop (or one crop by name)

🪶 Behavior

Crops set to enabled="false" in XML are fully disabled.

Crops set to enabled="true" (or omitted) behave normally.

Disabled crops are removed from AI selection, field jobs, and PDA listings.

Works automatically on new saves; existing saves respect previously applied settings.

🗂️ Example Configuration

1.0.0.3

02 Sep 08:24
413200d

Choose a tag to compare

Here’s a draft release text you could drop straight into GitHub for your FS25_CropControlOverride release:


🚀 FS25 Crop Control Override — Release v1.0.0

This is the first public release of FS25_CropControlOverride, a script mod for Farming Simulator 25 that lets you disable crops and control their PDA order without touching map files.

✨ Features

  • Disable crops: prevent them from being seeded, harvested, used in jobs, or shown in the PDA.

  • Custom PDA order: control the crop order in economy, calendar, and map.

  • Template + per-save configs:

    • Global template at modSettings/FS25_CropControlOverride/config.xml
    • Per-save configs stored in modSettings/FS25_CropControlOverride/saves/<saveId>.xml
    • Safe location (not deleted when the game saves).
  • Automatic config creation: generates a config on first run if missing (uses defaults baked into Lua).

  • Safe XML I/O: no risky io.open — uses GIANTS’ XMLFile API only.

  • UI filtering: hides disabled crops from PDA calendar, price list, and map.

📂 Install

  1. Download the latest release .zip.

  2. Place it in your FS25 mods/ folder.

    • Windows: Documents/My Games/FarmingSimulator2025/mods/
  3. Enable Crop Control Override in the in-game mod manager.

  4. Start a save — the mod will auto-create config files under modSettings.

⚙️ Config

  • Template: modSettings/FS25_CropControlOverride/config.xml
  • Per-save: modSettings/FS25_CropControlOverride/saves/<saveId>.xml

Edit these to toggle crops (enabled="true|false") or change order.

Example:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<cropControl>
  <order>
    <fruit name="WHEAT"/>
    <fruit name="BARLEY"/>
    <fruit name="OAT"/>
  </order>
  <fruits>
    <fruit name="POTATO" enabled="false"/>
    <fruit name="COTTON" enabled="false"/>
  </fruits>
</cropControl>

🔍 Log messages

Watch your game log for:

CCO: using config -> .../modSettings/FS25_CropControlOverride/saves/savegame10.xml
CCO: disabled POTATO
CCO: PDA order applied (20 items)

🧪 Compatibility

  • Farming Simulator 25 only.
  • Map-agnostic; works with custom fruit types if named correctly.
  • Compatible with growth/calendar mods.

📜 License

MIT License. See LICENSE.


👉 Do you want me to also generate a short changelog format (for incremental versions) so you can re-use it when pushing out bugfixes later?

1.0.0.2

31 Aug 17:42
931c5e5

Choose a tag to compare

Update README.md

1.0.0.0

28 Aug 10:17
e3bf1de

Choose a tag to compare

v1.0.0.0

Add files via upload