java.lang.Object
com.github.stefvanschie.inventoryframework.pane.Pane
com.github.stefvanschie.inventoryframework.pane.component.CycleButton

public class CycleButton extends Pane
A button for cycling between different options
Since:
0.5.0
  • Constructor Details

    • CycleButton

      public CycleButton(@NotNull @NotNull Slot slot, int length, int height, @NotNull @NotNull Pane.Priority priority)
      Creates a new cycle button
      Parameters:
      slot - the slot of the button
      length - the length of the button
      height - the height of the button
      priority - the priority of the button
      Since:
      0.10.8
    • CycleButton

      public CycleButton(int x, int y, int length, int height, @NotNull @NotNull Pane.Priority priority)
    • CycleButton

      public CycleButton(@NotNull @NotNull Slot slot, int length, int height)
      Creates a new cycle button
      Parameters:
      slot - the slot of the button
      length - the length of the button
      height - the height of the button
      Since:
      0.10.8
    • CycleButton

      public CycleButton(int x, int y, int length, int height)
    • CycleButton

      public CycleButton(int length, int height)
  • Method Details

    • click

      public boolean click(@NotNull @NotNull Gui gui, @NotNull @NotNull InventoryComponent inventoryComponent, @NotNull @NotNull InventoryClickEvent event, int slot, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight)
      Description copied from class: Pane
      Called whenever there is being clicked on this pane
      Specified by:
      click in class Pane
      Parameters:
      gui - the gui in which was clicked
      inventoryComponent - the inventory component in which this pane resides
      event - the event that occurred while clicking on this item
      slot - the slot that was clicked in
      paneOffsetX - the pane's offset on the x axis
      paneOffsetY - the pane's offset on the y axis
      maxLength - the maximum length of the pane
      maxHeight - the maximum height of the pane
      Returns:
      whether the item was found or not
    • display

      public void display(@NotNull @NotNull InventoryComponent inventoryComponent, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight)
      Description copied from class: Pane
      Has to set all the items in the right spot inside the inventory
      Specified by:
      display in class Pane
      Parameters:
      inventoryComponent - the inventory component in which the items should be displayed
      paneOffsetX - the pane's offset on the x axis
      paneOffsetY - the pane's offset on the y axis
      maxLength - the maximum length of the pane
      maxHeight - the maximum height of the pane
    • copy

      @NotNull @Contract(pure=true) public @NotNull CycleButton copy()
      Description copied from class: Pane
      Makes a copy of this pane and returns it. This makes a deep copy of the pane. This entails that the underlying panes and/or items will be copied as well. The returned pane will never be reference equal to the current pane.
      Overrides:
      copy in class Pane
      Returns:
      a copy of this pane
    • getItems

      @NotNull public @NotNull Collection<GuiItem> getItems()
      Description copied from class: Pane
      Gets all the items in this pane and all underlying panes. The returned collection is not guaranteed to be mutable or to be a view of the underlying data. (So changes to the gui are not guaranteed to be visible in the returned value.)
      Specified by:
      getItems in class Pane
      Returns:
      all items
    • addPane

      public void addPane(int index, @NotNull @NotNull Pane pane)
      Adds a pane to the current list of options
      Parameters:
      index - the index to insert the pane at
      pane - the pane to add
      Since:
      0.5.0
    • addPane

      public void addPane(@NotNull @NotNull Pane pane)
      Adds a pane to the current list of options
      Parameters:
      pane - the pane to add
      Since:
      0.5.0
    • clear

      public void clear()
      Description copied from class: Pane
      Clears the entire pane of any items/panes. Underlying panes will not be cleared.
      Specified by:
      clear in class Pane
    • getPanes

      @NotNull public @NotNull Collection<Pane> getPanes()
      Description copied from class: Pane
      Gets all the panes in this panes, including any child panes from other panes. The returned collection is not guaranteed to be mutable or to be a view of the underlying data. (So changes to the gui are not guaranteed to be visible in the returned value.)
      Specified by:
      getPanes in class Pane
      Returns:
      all panes
    • cycle

      public void cycle()
      Cycles through one option, making it go to the next one
      Since:
      0.5.0
    • load

      @NotNull public static @NotNull CycleButton load(@NotNull @NotNull Object instance, @NotNull @NotNull Element element, @NotNull @NotNull Plugin plugin)
      Loads a cycle button from a given element
      Parameters:
      instance - the instance class
      element - the element
      plugin - the plugin that will be the owner of the underlying items
      Returns:
      the cycle button
      Since:
      0.10.8
    • load

      @NotNull @Deprecated public static @NotNull CycleButton load(@NotNull @NotNull Object instance, @NotNull @NotNull Element element)
      Deprecated.
      this method is no longer used internally and has been superseded by load(Object, Element, Plugin)
      Loads a cycle button from a given element
      Parameters:
      instance - the instance class
      element - the element
      Returns:
      the cycle button
      Since:
      0.5.0