package dev.isxander.yacl.api;
import com.google.common.collect.ImmutableList;
import dev.isxander.yacl.impl.OptionGroupImpl;
import net.minecraft.text.Text;
import org.apache.commons.lang3.Validate;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* Serves as a separator between multiple chunks of options
* that may be too similar or too few to be placed in a separate {@link ConfigCategory}.
* Or maybe you just want your config to feel less dense.
*/
public interface OptionGroup {
/**
* Name of the option group, displayed as a separator in the option lists.
* Can be empty.
*/
Text name();
/**
* List of all options in the group
*/
@NotNull ImmutableList