Interface ThemeOptions


public interface ThemeOptions
Collects a theme's options, such as its colors. They are listed with the theme selection, under owner(), in every Boze GUI, but only while the theme is the selected one. They are saved with the Visuals profile whether or not the theme is selected, so switching themes keeps each theme's settings.
Commands and saved profiles name options after the theme, from the name part of its id: Size of example:neon is Neon.Size. Different themes can therefore use the same names. Like Boze's settings, names have no spaces.
An option's own visibility still applies on top of that. Give it while declaring the options: a visibility set after the theme is registered replaces the check for the selected theme.
Values are loaded from configs, which may come from other players: check numeric values before using them as sizes or loop bounds.
  • Method Summary

    Modifier and Type
    Method
    Description
    <T extends Option<?>>
    T
    add(T option)
    Adds an option.
     
  • Method Details

    • owner

      BaseModule owner()
      Returns:
      The module to pass as owner when constructing options
    • add

      <T extends Option<?>> T add(T option)
      Adds an option. Full names, parents included, must be unique within the theme.
      Type Parameters:
      T - Option type
      Parameters:
      option - The option
      Returns:
      The same option