From a75424b16d02bf3b8a5915f3369256db178f887b Mon Sep 17 00:00:00 2001 From: bluefireoly Date: Fri, 2 Oct 2020 15:54:21 +0200 Subject: [PATCH] Introduced default page --- .../axay/kspigot/inventory/InventoryGUI.kt | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/axay/kspigot/inventory/InventoryGUI.kt b/src/main/kotlin/net/axay/kspigot/inventory/InventoryGUI.kt index d83a9aac..680be565 100644 --- a/src/main/kotlin/net/axay/kspigot/inventory/InventoryGUI.kt +++ b/src/main/kotlin/net/axay/kspigot/inventory/InventoryGUI.kt @@ -12,10 +12,15 @@ import org.bukkit.inventory.ItemStack // EXTENSIONS -fun HumanEntity.openGUI(gui: InventoryGUI<*>, page: Int = 1): InventoryView? { +fun HumanEntity.openGUI(gui: InventoryGUI<*>, page: Int? = null): InventoryView? { + closeInventory() - gui.loadPage(page) + + if (page != null) + gui.loadPage(page) + return openInventory(gui.bukkitInventory) + } // GUI HOLDER @@ -37,7 +42,7 @@ class InventoryGUIHolder(kSpigot: KSpigot) : AutoCloseable { kSpigot.listen { val inv = registered.find { search -> search.isThisInv(it.inventory) } ?: return@listen - val invPage = inv.currentPage ?: return@listen + val invPage = inv.currentPage val slot = inv.data.pages[invPage]?.slots?.get(it.slot) if (slot != null) @@ -66,6 +71,8 @@ class InventoryGUIClickEvent( * INVENTORY GUI */ +private const val DEFAULT_PAGE = 1 + class InventoryGUIData( val plugin: KSpigot, val inventoryType: InventoryType, @@ -77,7 +84,7 @@ abstract class InventoryGUI( val data: InventoryGUIData ) { - var currentPage: Int? = null; protected set + var currentPage: Int = DEFAULT_PAGE; protected set abstract val bukkitInventory: Inventory @@ -98,7 +105,11 @@ class InventoryGUIShared( inventoryGUIData: InventoryGUIData ) : InventoryGUI(inventoryGUIData) { - override val bukkitInventory by lazy { data.inventoryType.createBukkitInv(null, data.title) } + override val bukkitInventory by lazy { + val inv = data.inventoryType.createBukkitInv(null, data.title) + loadPage(DEFAULT_PAGE) + return@lazy inv + } override fun isThisInv(inventory: Inventory) = inventory == bukkitInventory