Config Files
Use Minecraft-neutral per-mod config file storage through Nows core services.
Some APIs may still change or behave unevenly because they do not have enough real-world use cases and test coverage yet.
Config Files
Basic per-mod config files live in core because they are not Minecraft-version-specific:
Properties config = context.configs().loadProperties("my_mod", "client");
context.configs().saveProperties("my_mod", "client", config, "My Mod client config");
Runtime installs these APIs through NowsServices before Minecraft-version adapter services are registered. core stays free of net.minecraft.* types.
Paths And Names
NowsConfigFiles is backed by a directory under the active game directory. Use context.configs().directory() to inspect that root and context.configs().modDirectory("my_mod") for the per-mod folder.
file(modId, name) appends .properties when the name does not already include it:
Path clientFile = context.configs().file("my_mod", "client");
Path explicitFile = context.configs().file("my_mod", "server.properties");
Both paths resolve to files inside the mod’s config directory. modId and name must be single relative path segments; values such as ../outside are rejected before any file is touched. loadProperties returns an empty Properties object when the file does not exist. saveProperties creates the parent directory before writing.
What This API Is For
Use it for small Java Properties configs: booleans, numbers, text options and simple mod preferences. If your mod needs TOML, JSON, comments with schema, migrations or nested structures, keep that parser in your mod and use directory()/modDirectory() only to decide where the files live.