Skip to content

Config #2

@bcwadsworth

Description

@bcwadsworth

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions