From 1f30ca15d02ba5e60f20b3cb9d39f11ce0f11300 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Mon, 26 Dec 2022 16:03:21 +0100 Subject: [PATCH] More talisman bag optimisations --- .../main/kotlin/com/willfp/talismans/bag/TalismanBag.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/bag/TalismanBag.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/bag/TalismanBag.kt index 075857e..aeea975 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/bag/TalismanBag.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/bag/TalismanBag.kt @@ -33,6 +33,7 @@ private val Menu.talismanBag by menuStateVar>( object TalismanBag { private val menus = mutableMapOf() private lateinit var key: PersistentDataKey> + private lateinit var emptyItem: ItemStack private val savedItems = mutableMapOf>() @@ -66,6 +67,10 @@ object TalismanBag { emptyList() ) + emptyItem = ItemStackBuilder(Items.lookup(plugin.configYml.getString("bag.blocked-item"))) + .addLoreLines(plugin.configYml.getStrings("bag.blocked-item-lore")) + .build() + for (rows in 1..6) { menus[rows] = menu(rows) { title = plugin.configYml.getFormattedString("bag.title") @@ -78,9 +83,7 @@ object TalismanBag { val index = MenuUtils.rowColumnToSlot(row, column) if (index >= bagSize) { - ItemStackBuilder(Items.lookup(plugin.configYml.getString("bag.blocked-item"))) - .addLoreLines(plugin.configYml.getStrings("bag.blocked-item-lore")) - .build() + emptyItem } else { menu.talismanBag[player].getOrNull(index)?.clone() ?: ItemStack(Material.AIR) }