Virtual Inventory Item Provider
An ItemProvider that provides the item from a specific slot in the virtual inventory. This can be used to create dynamic GUI elements that reflect the current state of the virtual inventory, allowing you to display items from the inventory in the GUI and have them update automatically when the inventory changes. The slot property can be updated to change which slot's item is being provided, and the provider will refresh to reflect the new slot's item. When clicked, this provider does nothing by default, but it can be overridden to implement custom behavior when the item is interacted with in the GUI.
Parameters
The VirtualInventory instance that this provider will retrieve items from. This should be the same instance of the virtual inventory that is being used in the associated GUI.
The initial slot index that this provider will retrieve items from. This should be between 0 and size-1 of the virtual inventory. You can change this slot later by setting the slot property.
Properties
The slot index that this provider retrieves items from in the virtual inventory. This should be between 0 and size-1 of the virtual inventory. When this property is updated, the provider will refresh to reflect the item from the new slot. You can change this slot at any time to have the provider retrieve items from a different slot in the virtual inventory.
Functions
Retrieves the item from the specified slot in the virtual inventory. If the slot index is out of bounds (not between 0 and size-1), this method will return null. Otherwise, it returns a clone of the ItemStack at the specified slot in the virtual inventory, allowing callers to safely modify the returned ItemStack without affecting the inventory's internal state. If the slot is empty (null), this method will also return null.
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.