CycleItemProvider

class CycleItemProvider(items: List<ItemStack>) : AbstractItemProvider

An ItemProvider that cycles through a list of items each time it is clicked. This can be used for things like toggles or settings that have multiple options.

Parameters

items

The list of items to cycle through. The first item in the list will be displayed initially.

Constructors

Link copied to clipboard
constructor(items: List<ItemStack>)

Functions

Link copied to clipboard
open fun destroy()

Cleans up any resources or references when this item provider is removed from the GUI. Subclasses can override this method to perform any necessary cleanup, such as canceling tasks or clearing references.

Link copied to clipboard
open override fun getItem(): ItemStack?

Returns the ItemStack to be displayed for this item provider. This method must be implemented by subclasses to provide the actual item to display.

Link copied to clipboard
open override fun onClick(clickEvent: InventoryClickEvent)

Handles click events for this item provider. This method must be implemented by subclasses to define the behavior when the item is clicked in the GUI.

Link copied to clipboard
fun refresh()

Refreshes the item in the GUI. This method can be called by subclasses to update the displayed item after changes. It checks if the GUI reference is initialized and if the inventory slot is valid before attempting to refresh.

Link copied to clipboard
fun setGuiData(gui: Gui, slot: Int)

Sets the GUI reference and inventory slot for this item provider. This should be called by the GUI when adding this item provider to it.