> For the complete documentation index, see [llms.txt](https://shedaniel.gitbook.io/cloth-config/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shedaniel.gitbook.io/cloth-config/auto-config/creating-a-config-class.md).

# Creating a Config Class

```java
@Config(name = "modid")
class ModConfig implements ConfigData {
    boolean toggleA = true;
    boolean toggleB = false;
    
    @ConfigEntry.Gui.CollapsibleObject
    InnerStuff stuff = new InnerStuff();
    
    @ConfigEntry.Gui.Excluded
    InnerStuff invisibleStuff = new InnerStuff();
    
    static class InnerStuff {
        int a = 0;
        int b = 1;
    }
}
```

{% hint style="success" %}
The Gui generator works with `boolean`, `int`, `long`, `double`, `float`, `String`, and `enum` types by default.
{% endhint %}

You can also use it with nested objects by adding the `@CollapsibleObject` annotation to the object's field. You can register your own providers if those default ones aren't sufficient for you.
