Special Options

Learn about other Option implementations for more functionality.

ListOption

List options allow you to easily allow the user to easily append, sort and remove elements from a list, whilst also allowing the use of regular controllers.

These types of options are a hybrid between groups and options, behaving like both, and does not allow for it to be added to a group but must be added to a category directly. Under-the-hood, each option entry is like a regular option, but with no name. This option is a child of a list entry, which has extra buttons to reposition and remove elements.

ListOption.<String>createBuilder()
    .name(Component.literal("List Option"))
    .binding(/* gets and sets a List, requires list field to be not final, does not manipulate the list */)
    .controller(StringControllerBuilder::create) // usual controllers, passed to every entry
    .initial("") // when adding a new entry to the list, this is the initial value it has
    .build()

To re-iterate, EVERY controller works with lists.

LabelOption

ButtonOption

Last updated