-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The new way that configs will work starts with the new reading system. Configs are read line by line; the first character determines what that line does and the rest of the line (line.substring(1)) is stored. 6 different startline characters exist currently:
@ - tells the reader to move to a new section, this will PROBABLY be which feature to target
-tells the reader to open an entry under the given name
~ - tells the reader to execute the following command (tweak). This will add crafting, ore dict, etc.
= - tells the reader that this is a value for the current entry, or the next argument for the command
$ - tells the reader what type of variable to parse the values as, or what type of argument the value is. Only one type is supported per entry, multiple per command.
; ends the current value or command. Nothing else on the line is read.
Configs for Immersion will now be only override - no "master config" will be generated, it is up to the user to create config files which will tell minecraft to override a specific part, for example, a file stating
@immersion
Enable Version Check
$Boolean
=False
;
will tell Immersion to not do version checks.
However, configs will be able to be per world, overrides specified in a world file will override those specified through the config folder. Server overrides override those specified by a client.
Because of how it works, whenever a save function is called, all configs will be saved. If global configs or per-world configs have been changed through the config gui ingame, new config files will be generated.