Enum option

Configuration

Enum options have to be provided with an enum class that implements StringIdentifiable.

public enum ExampleEnum implements StringIdentifiable {
    A("first"),
    B("second"),
    C("third");

    private final String name;

    ExampleEnum(String name) {
        this.name = name;
    }

    @Override
    public String asString() {
        return name;
    }
}

Example

configBuilder.option((source) -> {
    // OptionBuilder<FabricClientCommandSource>
    var optionBuilder = ExtendedOptions.enumArg("enum-option", ExampleEnum.class, source);
    optionBuilder.helpFunc(() -> Text.of("This is an enum option!"));
    optionBuilder.valueAccess(
            Defaults.defaultValueAccess(() -> ExampleConfig.getInstance().enumOpt,
                    (newEnum) -> ExampleConfig.getInstance().enumOpt = newEnum)
    );

    return optionBuilder;
});

Last updated