-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmodDesc.xml
More file actions
189 lines (164 loc) · 16.7 KB
/
Copy pathmodDesc.xml
File metadata and controls
189 lines (164 loc) · 16.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
<?xml version="1.0" encoding="utf-8"?>
<modDesc descVersion="110">
<author>SimGamerJen</author>
<version>2.1.0.0</version>
<title>
<en>Crop Control Override</en>
<de>Crop Control Override Öffnen</de>
<fr>Ouvrir Crop Control Override</fr>
</title>
<description>
<en><![CDATA[
Description:
Crop Control Override is a per-save crop policy manager for Farming Simulator 25. It lets players control which crops are permitted for the player, which crops NPC farmers may plant, and whether NPC crop planting should be limited by field size.
Contributor acknowledgement: Hyper138, who's NPC field-size limitation concept and development inspired me to build size-limitation functionality into the mod.
The mod includes an editable FS25-style GUI, per-save XML rule files, NPC field validation, blocked NPC field reporting, and a guarded Apply / Force Apply workflow to prevent accidental invalid save states.
Main GUI features:
- ALL RULES: view and edit crop policy rules.
- DISABLED: view globally disabled crops.
- SIZE LIMITED: view crops with NPC field-size limits.
- NPC DISABLED: view crops NPCs should not plant.
- VALIDATION: view existing NPC fields that violate the active policy and use the guarded dry-run / confirm reset workflow.
- CALENDAR: review every loaded crop using native-style planting and harvesting bars, then use guarded whole-lifecycle shifts or custom planting/harvest windows with dry-run validation and map-default restore.
- The built-in game Calendar page includes an EDIT CALENDAR button that opens CCO directly on the Calendar editor.
- SUMMARY: view active config, rule counts, and validation state.
- HELP: view in-game guidance.
Configuration:
- APPLY / FORCE APPLY writes staged crop-rule changes to the active per-save XML.
- DISCARD resets staged values.
- SAVE DEFAULTS TO CONFIG.XML backs up the existing template config and writes the current full active rule set to config.xml.
- Existing per-save XML files are not overwritten by Save Defaults.
- RESET BLOCKED DRY-RUN does not change the save state. CONFIRM RESET performs the actual blocked-field reset after review.
- VALIDATION includes RESET MODE: CULTIVATED or RESEED SEASONAL.
- RESEED SEASONAL uses the current seasonal planting window and CCO policy rules to choose a replacement crop for blocked NPC fields.
- Each crop has an individual reseed weight from 0 to 5, editable in the GUI and stored as reseedWeight on its fruit rule.
- A crop weight of 0 excludes that crop from NPC-field reseeding without disabling it for the player.
- The global leaveCultivated weight remains available, allowing weighted resets to leave some fields cultivated instead of reseeding them.
Changelog 2.1.0.0 Pre-Release:
- Added a full Crop Calendar editor with visual planting/harvest periods, preview/cancel workflow, restore-to-map-default support, and clear calendar legend/status indicators.
- Added Regional Profiles, including built-in regional crop calendars and player-authored XML profiles loaded from modSettings.
- Added regional crop suitability data and optional player policy for unsuitable crops: allow, hide, or block.
- Added read-only MoistureSystem environmental status integration so selected CCO regions can be compared with the active weather profile without changing weather settings.
- Added guarded full-map NPC field regeneration using the active crop policy/calendar, including seasonal growth-state validation, deterministic planning, contract safety, field-state refresh, and contract-board rebuilding.
- Added existing-field reconciliation so calendar/profile changes can be applied safely to NPC fields while protecting player-owned fields.
- Added automatic hiding of CCO-disabled crops from the game's native Crop Calendar.
- Added a Weight column to the crop-rules table so each crop's current 0-5 NPC reseed weighting is visible without opening its details.
- Added a Show disabled toggle to the main rules table so disabled crops can be hidden from the list without changing their saved rules.
- Added and preserved the supported CCO Integration API 1.2 / shared field-regeneration compatibility surface used during Farm Sim Manager development.
- Added automatic creation of a starter custom regional-profile template under the CCO modSettings folder.
- Includes dedicated-server / multiplayer fixes, crop-selection safeguards, UI refinements, diagnostics, and localisation updates developed throughout the 2.1 alpha cycle.
Useful console commands:
ccoGui, ccoStatus, ccoWhichConfig, ccoReload, ccoValidateSave, ccoScanBlocked, ccoResetBlocked dryrun, ccoResetBlocked, ccoListNpcCandidates, ccoSeasonProbe, ccoGrowthProbe, ccoCalendarReport, ccoCalendarShiftPreview, ccoCalendarShiftApply, ccoCalendarCustomPreview, ccoCalendarCustomApply, ccoCalendarRestore, ccoHelp
GitHub link:
https://github.com/SimGamerJen/FS25_CropControlOverride
]]></en>
<de><![CDATA[
Beschreibung:
Crop Control Override ist ein speicherstandbasiertes Fruchtarten-Regelwerk für Farming Simulator 25. Mit dem Mod kann festgelegt werden, welche Fruchtarten für Spieler erlaubt sind, welche Fruchtarten NPC-Landwirte anbauen dürfen und ob der NPC-Anbau durch eine maximale Feldgröße begrenzt werden soll.
Mitwirkenden-Hinweis: Das Konzept und die Entwicklung der NPC-Feldgrößenbegrenzung von Hyper138 haben mich dazu inspiriert, eine Funktion zur Feldgrößenbegrenzung in den Mod einzubauen.
Der Mod enthält eine bearbeitbare GUI im FS25-Stil, XML-Regeldateien pro Spielstand, Validierung von NPC-Feldern, Anzeige blockierter NPC-Felder sowie einen geschützten Anwenden-/Erzwingen-Ablauf, um unbeabsichtigte ungültige Spielstände zu vermeiden.
Wichtige GUI-Funktionen:
- ALLE REGELN: Fruchtarten-Regeln anzeigen und bearbeiten.
- DEAKTIVIERT: global deaktivierte Fruchtarten anzeigen.
- BEGRENZT: Fruchtarten mit NPC-Feldgrößenbegrenzung anzeigen.
- NPC DEAKTIVIERT: Fruchtarten anzeigen, die NPCs nicht anbauen sollen.
- VALIDIERUNG: bestehende NPC-Felder anzeigen, die gegen die aktive Regel verstoßen, und den geschützten Testlauf-/Bestätigungsablauf zum Zurücksetzen verwenden.
- KALENDER: alle geladenen Fruchtarten in einem visuellen Monatsraster prüfen und anschließend geschützte Lebenszyklusverschiebungen oder eigene Saat-/Erntefenster mit Testlauf und Wiederherstellung des Kartenstandards verwenden.
- ZUSAMMENFASSUNG: aktive Konfiguration, Regelanzahl und Validierungsstatus anzeigen.
- HILFE: Hinweise zur Bedienung im Spiel anzeigen.
Konfiguration:
- ANWENDEN / ERZWINGEN schreibt vorbereitete Änderungen an einer Fruchtarten-Regel in die aktive XML-Datei des aktuellen Spielstands.
- VERWERFEN setzt vorbereitete Werte zurück.
- STANDARD SPEICHERN IN CONFIG.XML erstellt zuerst eine Sicherung der bestehenden Vorlagenkonfiguration und schreibt anschließend den aktuellen vollständigen Regelsatz in config.xml.
- Bestehende XML-Dateien einzelner Spielstände werden durch Standard Speichern nicht überschrieben.
- RESET BLOCKED DRY-RUN ändert den Spielstand nicht. CONFIRM RESET führt das tatsächliche Zurücksetzen blockierter Felder nach der Prüfung aus.
- Im Modus RESEED SEASONAL wird anhand des aktuellen Saatkalenders und der CCO-Regeln eine Ersatzfrucht für blockierte NPC-Felder gewählt.
- Jede Fruchtart besitzt eine individuelle Nachsaatgewichtung von 0 bis 5, die in der GUI bearbeitet und als reseedWeight in ihrer Fruchtarten-Regel gespeichert wird.
- Eine Gewichtung von 0 schließt die Fruchtart von der Nachsaat auf NPC-Feldern aus, ohne sie für den Spieler zu deaktivieren.
- Die globale Gewichtung leaveCultivated bleibt erhalten, sodass ein gewichteter Reset einige Felder im kultivierten Zustand belassen kann.
Änderungen 2.1.0.0 Vorabversion:
- Einen vollständigen Fruchtkalender-Editor mit visuellen Saat-/Erntezeiträumen, Vorschau-/Abbrechen-Ablauf, Wiederherstellung der Kartenstandards sowie klarer Kalenderlegende und Statusanzeige hinzugefügt.
- Regionale Profile hinzugefügt, einschließlich integrierter regionaler Fruchtkalender und vom Spieler definierter XML-Profile aus dem modSettings-Ordner.
- Regionale Eignungsbewertungen für Fruchtarten sowie eine optionale Spielerregel für ungeeignete Kulturen hinzugefügt: erlauben, ausblenden oder blockieren.
- Schreibgeschützte MoistureSystem-Umgebungsstatusintegration hinzugefügt, damit ausgewählte CCO-Regionen mit dem aktiven Wetterprofil verglichen werden können, ohne Wettereinstellungen zu verändern.
- Abgesicherte vollständige Regenerierung von NPC-Feldern anhand der aktiven Fruchtregeln/des Kalenders hinzugefügt, einschließlich saisonaler Wachstumsvalidierung, deterministischer Planung, Auftragssicherheit, Feldstatus-Aktualisierung und Neuaufbau der Auftragsliste.
- Abgleich bestehender NPC-Felder hinzugefügt, damit Kalender-/Profiländerungen sicher angewendet werden können, während spielereigene Felder geschützt bleiben.
- CCO-deaktivierte Fruchtarten werden nun automatisch aus dem nativen Fruchtkalender des Spiels ausgeblendet.
- Der Fruchtregel-Tabelle wurde eine Spalte „Gewichtung“ hinzugefügt, damit die aktuelle NPC-Nachsaatgewichtung von 0–5 für jede Frucht direkt sichtbar ist.
- Der Haupt-Regeltabelle wurde ein Schalter zum Anzeigen/Ausblenden deaktivierter Fruchtarten hinzugefügt, ohne die gespeicherten Regeln zu verändern.
- Die unterstützte CCO Integration API 1.2 sowie die gemeinsame Feldregenerierungs-Kompatibilität aus der Farm-Sim-Manager-Entwicklung wurden übernommen und geschützt.
- Automatische Erstellung einer Vorlage für benutzerdefinierte Regionalprofile im CCO-modSettings-Ordner hinzugefügt.
- Enthält außerdem Dedicated-Server-/Multiplayer-Korrekturen, Schutzmechanismen für die Fruchtauswahl, UI-Verbesserungen, Diagnosen und Lokalisierungsupdates aus dem gesamten 2.1-Alpha-Zyklus.
Tastenkombinationen:
ALT+C öffnet die Crop Control Override GUI. Diese Tastenkombination kann im Steuerungsmenü des Spiels geändert werden.
Maus: GUI-Reiter, Tabellenzeilen und Schaltflächen verwenden.
Tastatur: die angezeigten FS25-Fußleistenaktionen für Reiterwechsel, Standardwerte laden und Zurück verwenden.
Nützliche Konsolenbefehle:
ccoGui, ccoStatus, ccoWhichConfig, ccoReload, ccoValidateSave, ccoScanBlocked, ccoResetBlocked dryrun, ccoResetBlocked, ccoListNpcCandidates, ccoSeasonProbe, ccoGrowthProbe, ccoCalendarReport, ccoCalendarShiftPreview, ccoCalendarShiftApply, ccoCalendarCustomPreview, ccoCalendarCustomApply, ccoCalendarRestore, ccoHelp
GitHub-Link:
https://github.com/SimGamerJen/FS25_CropControlOverride
]]></de>
<fr><![CDATA[
Description :
Crop Control Override est un gestionnaire de règles de cultures par sauvegarde pour Farming Simulator 25. Il permet de contrôler quelles cultures sont autorisées pour le joueur, quelles cultures les agriculteurs PNJ peuvent semer, et si les cultures PNJ doivent être limitées par taille de champ.
Remerciement au contributeur : le concept et le développement par Hyper138 de la limitation de taille des champs PNJ ont inspiré l’ajout d’une fonctionnalité de limitation par taille dans le mod.
Le mod inclut une interface modifiable de style FS25, des fichiers XML de règles par sauvegarde, une validation des champs PNJ, un affichage des champs PNJ bloqués, ainsi qu’un flux sécurisé Appliquer / Forcer l’application pour éviter les états de sauvegarde invalides accidentels.
Fonctions principales de l’interface :
- TOUTES LES RÈGLES : afficher et modifier les règles de cultures.
- DÉSACTIVÉES : afficher les cultures désactivées globalement.
- LIMITÉES : afficher les cultures avec une limite de taille de champ PNJ.
- PNJ DÉSACTIVÉ : afficher les cultures que les PNJ ne doivent pas semer.
- VALIDATION : afficher les champs PNJ existants qui ne respectent pas la règle active et utiliser le flux sécurisé d’essai / confirmation de réinitialisation.
- CALENDRIER : afficher toutes les cultures chargées dans une grille mensuelle visuelle, puis utiliser des décalages sécurisés du cycle ou des fenêtres personnalisées de semis/récolte avec prévisualisation et restauration des valeurs de la carte.
- RÉSUMÉ : afficher la configuration active, le nombre de règles et l’état de validation.
- AIDE : afficher l’aide intégrée.
Configuration :
- APPLIQUER / FORCER L’APPLICATION écrit les changements préparés d’une règle de culture dans le XML actif de la sauvegarde.
- ANNULER réinitialise les valeurs préparées.
- ENREGISTRER LES VALEURS PAR DÉFAUT DANS CONFIG.XML sauvegarde d’abord la configuration modèle existante, puis écrit l’ensemble complet des règles actives dans config.xml.
- Les fichiers XML des sauvegardes existantes ne sont pas écrasés par cette action.
- RESET BLOCKED DRY-RUN ne modifie pas la sauvegarde. CONFIRM RESET effectue la réinitialisation réelle des champs bloqués après vérification.
- Le mode RESEMIS SAISONNIER utilise le calendrier de semis actuel et les règles CCO pour choisir une culture de remplacement pour les champs PNJ bloqués.
- Chaque culture possède une pondération de ressemis individuelle de 0 à 5, modifiable dans l’interface et enregistrée comme reseedWeight dans sa règle de culture.
- Une pondération de 0 exclut la culture du ressemis des champs PNJ sans la désactiver pour le joueur.
- La pondération globale leaveCultivated est conservée, ce qui permet à une réinitialisation pondérée de laisser certains champs cultivés sans les ressemer.
Journal des modifications 2.1.0.0 Préversion :
- Ajout d’un éditeur complet du calendrier des cultures avec périodes visuelles de semis/récolte, aperçu/annulation, restauration des valeurs par défaut de la carte et légende/indicateurs d’état clairs.
- Ajout des profils régionaux, avec calendriers intégrés par région et profils XML personnalisés par le joueur chargés depuis modSettings.
- Ajout des niveaux d’adéquation régionale des cultures et d’une politique optionnelle pour les cultures inadaptées : autoriser, masquer ou bloquer.
- Ajout d’une intégration en lecture seule avec MoistureSystem afin de comparer la région CCO sélectionnée au profil météo actif sans modifier les paramètres météo.
- Ajout d’une régénération sécurisée de l’ensemble des champs PNJ selon les règles/calendrier actifs, avec validation des états de croissance saisonniers, planification déterministe, sécurité des contrats, actualisation de l’état des champs et reconstruction du tableau des contrats.
- Ajout de la réconciliation des champs existants afin d’appliquer en toute sécurité les changements de calendrier/profil aux champs PNJ tout en protégeant les champs du joueur.
- Les cultures désactivées dans CCO sont désormais automatiquement masquées du calendrier des cultures natif du jeu.
- Ajout d’une colonne « Poids » au tableau des règles afin d’afficher directement la pondération actuelle de ressemis PNJ (0–5) de chaque culture.
- Ajout d’un bouton permettant d’afficher ou masquer les cultures désactivées dans le tableau principal sans modifier leurs règles enregistrées.
- Conservation et protection de l’API d’intégration CCO 1.2 et de la surface de compatibilité du moteur partagé de régénération des champs développées avec Farm Sim Manager.
- Ajout de la création automatique d’un modèle de profil régional personnalisé dans le dossier modSettings de CCO.
- Comprend également les correctifs serveur dédié/multijoueur, les protections de sélection des cultures, les améliorations d’interface, les diagnostics et les mises à jour de localisation développés pendant tout le cycle alpha 2.1.
Commandes console utiles :
ccoGui, ccoStatus, ccoWhichConfig, ccoReload, ccoValidateSave, ccoScanBlocked, ccoResetBlocked dryrun, ccoResetBlocked, ccoListNpcCandidates, ccoSeasonProbe, ccoGrowthProbe, ccoCalendarReport, ccoCalendarShiftPreview, ccoCalendarShiftApply, ccoCalendarCustomPreview, ccoCalendarCustomApply, ccoCalendarRestore, ccoHelp
Lien GitHub :
https://github.com/SimGamerJen/FS25_CropControlOverride
]]></fr>
</description>
<l10n filenamePrefix="l10n/l10n"/>
<iconFilename>icon_CropControlOverride.dds</iconFilename>
<inputBinding>
<actionBinding action="CCO_OPEN_GUI">
<binding device="KB_MOUSE_DEFAULT" input="KEY_lalt KEY_c"/>
</actionBinding>
</inputBinding>
<actions>
<action name="CCO_OPEN_GUI" axisType="HALF"/>
</actions>
<multiplayer supported="true"/>
<extraSourceFiles>
<sourceFile filename="scripts/Debug.lua"/>
<sourceFile filename="scripts/CropControlOverrideChangeSettingsEvent.lua"/>
<sourceFile filename="scripts/RegionalProfileManager.lua"/>
<sourceFile filename="scripts/CropCalendarManager.lua"/>
<sourceFile filename="scripts/gui/CropControlOverrideMenu.lua"/>
<sourceFile filename="scripts/CropControlOverride.lua"/>
<sourceFile filename="scripts/CCOIntegrationApi.lua"/>
</extraSourceFiles>
</modDesc>