For categories, you need to create static inner classes.
@Config(modid = Echo.MODID, name = "Echo/" + Echo.NAME)
public class ConfigHandler {
public static Compat compat = new Compat();
public static class Compat {
@Config.LangKey("config.echo:botania")
@Config.Comment("Should Echo add any interactions at all with Botania?")
public boolean botania = true;
@Config.LangKey("config.echo:botania.pool")
@Config.Comment("Should Echo add interactions with Botania's pools")
public boolean botania_pool = true;
@Config.LangKey("config.echo:botania.spreader")
@Config.Comment("Should Echo add interactions with Botania's Spreader")
public boolean botania_spreader = true;
}
}
The configuration code above will contain a sub-category called "compat" that houses the 3 configs pertaining to that category.
To access for example the botania_spreader config, I call ConfigHandler.compat.botania_spreader.
I would recommend that you create individual classes for each file.