CamDawg, It is very nice solution for the mod but after second look at you proposition, is not a solution for "READLN" problem.
Similar solution existed before (Subtle SoB mod ini) but there was no way to present it to the player without creating extra solution between GUI and configuration file.
The whole point of GUI is to have all mod components, subcomponents and list of all "READLN" options + acceptable values for each of them.
/ The following six stats will be used as the minimums by the component itself.
// All values must be between 6 and 15, or 0 if you don't want to change them.
OUTER_SET minimum_stats_strength = 0
OUTER_SET minimum_stats_constitution = 0
OUTER_SET minimum_stats_dexterity = 0
OUTER_SET minimum_stats_intelligence = 0
OUTER_SET minimum_stats_wisdom = 0
OUTER_SET minimum_stats_charisma = 0
In terms of "GUI mod installer" or for command-line tool:
- it shouldn't require to set yet another variable only to read values from configuration file, it should always do it if the configuration file is present and value isn't null / default
- it doesn't provide a information for what component are these variables and values intended ( no way to generate menu for specific component )
- it doesn't have list of acceptable values which players could put there as data which can be used by external tool
- weidu should apply some checks for configuration file to not allow variables which hasn't have representation inside component code
proposition using pseudo code:
<MainComponentDesignatedNumber> "Name of the component"
<MainComponentDesignatedNumber> "descriptionForComponentOption1" <valueRangeForComponentOption1> <variableNameForComponentOption1> = <defaultValue>
<MainComponentDesignatedNumber> "descriptionForComponentOption2" <valueRangeForComponentOption2> <variableNameForComponentOption2> = <defaultValue>
example:
3210 "Minimum Stats Cheat"
3210 "Provide minimum stats for strength" regexpOnlyDecimalNumbersRange(6..15)orArrayListOfStrings minimum_stats_strength = 6
3210 "Provide minimum stats for constitution" regexpOnlyDecimalNumbersRange(6..15)orArrayListOfStrings minimum_stats_constitution = 6
3210 "Provide minimum stats for dexterity" regexpOnlyDecimalNumbersRange(6..15)orArrayListOfStrings minimum_stats_dexterity = 6
3210 "Provide minimum stats for intelligence" regexpOnlyDecimalNumbersRange(6..15)orArrayListOfStrings minimum_stats_intelligence = 6
3210 "Provide minimum stats for wisdom" regexpOnlyDecimalNumbersRange(6..15)orArrayListOfStrings minimum_stats_wisdom = 6
3210 "Provide minimum stats for charisma" regexpOnlyDecimalNumbersRange(6..15)orArrayListOfStrings minimum_stats_charisma = 6
this way weidu can add such information to --list-components-json and then Zeitgeist/other tool can:
- dynamically build gui with component list
- and dynamically build gui with treeview of ComponentOption for each component
- and set acceptable values as regexp or if there is a array of strings, dynamically build dropdown menu
- and set initial value to the <defaultValue> from configuration file
Having all above functionality is what I think a proper solution for READLN problem. I hope you see that having a GUI only to open weidu mod confoguration file is not really something which we should looking for.