Partitioning the Config
There's a PartitioningSerializer
included to partition your config into multiple files within a directory. When using PartitioningSerializer
, your top level config class must inherit from PartitioningSerializer.GlobalData
and every field in that top level class must be of a type that inherits from ConfigData
and is annotated with @Config
.
Example
@Config(name = "modid")
class ModConfig extends PartitioningSerializer.GlobalData {
@ConfigEntry.Category("module_a")
@ConfigEntry.Gui.TransitiveObject
ModuleAConfig moduleA = new ModuleAConfig();
@ConfigEntry.Category("module_b")
@ConfigEntry.Gui.TransitiveObject
ModuleBConfig moduleB = new ModuleBConfig();
}
@Config(name = "module_a")
class ModuleAConfig implements ConfigData {
/* your config fields here */
}
@Config(name = "module_b")
class ModuleBConfig implements ConfigData {
/* your config fields here */
}
Registering the Config
AutoConfig.register(
ModConfig.class,
PartitioningSerializer.wrap(JanksonConfigSerializer::new)
);
Last updated
Was this helpful?