Releases: SimGamerJen/FS25_CropControlOverride
FS25 Crop Control Override v2.0.0-beta.1
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 APPLYworkflow DISCARDfor staged GUI editsSAVE DEFAULTS TO CONFIG.XMLwith automatic backupLOAD DEFAULTSto import templateconfig.xmlinto the active saveVALIDATIONtab with blocked NPC field details- GUI cleanup using
RESET SCOPE - Blocked-field reset by:
ALLCROP: <crop>FIELD: <fieldId> <crop>
- German and French
modDesc.xmldescriptions - 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:
- Select a crop in
ALL RULES - Stage the changes in the right-side details panel
- Use
APPLYfor safe changes - Use
FORCE APPLYonly when deliberately creating blocked NPC fields - Review
VALIDATION - Use
RESET SCOPE,RESET BLOCKED DRY-RUN, thenCONFIRM RESETif 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, orFIELD - actual field-size calculation issues
- log warnings or script errors
Attach the relevant log.txt section where possible.
v2.0.0-alpha.97
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 APPLYworkflow DISCARDfor staged GUI editsSAVE DEFAULTS TO CONFIG.XMLwith automatic backupLOAD DEFAULTSto import templateconfig.xmlinto the active saveVALIDATIONtab with blocked NPC field details- GUI cleanup using
RESET SCOPE - Blocked-field reset by:
ALLCROP: <crop>FIELD: <fieldId> <crop>
- German and French
modDesc.xmldescriptions - 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, orFIELD - actual field-size calculation issues
- log warnings or script errors
Attach the relevant log.txt section where possible.
v2.0.0-alpha.90
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 APPLYworkflow DISCARDfor staged GUI editsVALIDATIONtab with blocked NPC field details- GUI-based
RESET BLOCKED DRY-RUN - GUI-based guarded
CONFIRM RESET SAVE DEFAULTS TO CONFIG.XMLwith automatic backup- German and French
modDesc.xmldescriptions - Updated DDS icon
- ModHub TestRunner-compatible
modDesc.xmland 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
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
APPLYworkflow FORCE APPLYfor deliberate policy changes that create validation issuesDISCARDfor staged GUI changesVALIDATIONtab showing blocked NPC field detailsSUMMARYandHELPtabsSAVE DEFAULTS TO CONFIG.XMLwith automatic template config backup- German and French
modDesc.xmldescriptions 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
1.0.0.4
🧩 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
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).
- Global template at
-
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
-
Download the latest release
.zip. -
Place it in your FS25
mods/folder.- Windows:
Documents/My Games/FarmingSimulator2025/mods/
- Windows:
-
Enable Crop Control Override in the in-game mod manager.
-
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
Update README.md
1.0.0.0
v1.0.0.0 Add files via upload