Class TemplatedMenuBuilder

java.lang.Object
net.staticstudios.menus.menu.TemplatedMenuBuilder
All Implemented Interfaces:
Cloneable, MenuBuilder

public class TemplatedMenuBuilder extends Object implements Cloneable, MenuBuilder
  • Constructor Details

    • TemplatedMenuBuilder

      protected TemplatedMenuBuilder(boolean mutable, String template)
  • Method Details

    • id

      public TemplatedMenuBuilder id(String id)
      Set the ID of the menu. This is used to track history and for other internal purposes.
      Parameters:
      id - The ID
      Returns:
      The builder
    • title

      public TemplatedMenuBuilder title(net.kyori.adventure.text.Component title)
      Set the title of the menu.
      Parameters:
      title - The title
      Returns:
      The builder
    • title

      public TemplatedMenuBuilder title(String title)
      Set the title of the menu.
      Parameters:
      title - The title
      Returns:
      The builder
    • onOpen

      public TemplatedMenuBuilder onOpen(MenuAction action)
      Add an action to run when the menu is opened.
      Parameters:
      action - The action
      Returns:
      The builder
    • onClose

      public TemplatedMenuBuilder onClose(MenuAction action)
      Add an action to run when the menu is closed.
      Parameters:
      action - The action
      Returns:
      The builder
    • options

      public TemplatedMenuBuilder options(Function<MenuOptions,MenuOptions> optionsEditor)
      Set the options for the menu.
      Parameters:
      optionsEditor - A function to edit the options
      Returns:
      The builder
    • defaultPlaceholder

      public TemplatedMenuBuilder defaultPlaceholder(Button defaultPlaceholder)
      Set the default placeholder button.
      Parameters:
      defaultPlaceholder - The default placeholder button
      Returns:
      The builder
    • button

      public TemplatedMenuBuilder button(char character, Button button)
      Add a button mapping.
      Parameters:
      character - The character to map
      button - The button to map to
      Returns:
      The builder
    • build

      public Menu build(MenuViewer viewer)
      Description copied from interface: MenuBuilder
      Build the menu
      Specified by:
      build in interface MenuBuilder
      Parameters:
      viewer - The viewer to build the menu for
      Returns:
      The menu
    • clone

      public TemplatedMenuBuilder clone()
      Overrides:
      clone in class Object