diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecomenus/menus/Menu.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecomenus/menus/Menu.kt index 445f431..63573fc 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecomenus/menus/Menu.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecomenus/menus/Menu.kt @@ -5,6 +5,7 @@ import com.willfp.eco.core.config.interfaces.Config import com.willfp.eco.core.gui.addPage import com.willfp.eco.core.gui.menu import com.willfp.eco.core.gui.menu.Menu +import com.willfp.eco.core.gui.onClose import com.willfp.eco.core.gui.page.PageChanger import com.willfp.eco.core.gui.slot.FillerMask import com.willfp.eco.core.gui.slot.MaskItems @@ -96,5 +97,10 @@ fun buildMenu(plugin: EcoPlugin, menu: EcoMenu, config: Config): Menu { } } } + + onClose { event, menu -> + val player = event.player as Player + menu.close(player) + } } } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecomenus/slots/impl/SlotTypeClose.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecomenus/slots/impl/SlotTypeClose.kt index 8fe2aaf..29ea4ef 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecomenus/slots/impl/SlotTypeClose.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecomenus/slots/impl/SlotTypeClose.kt @@ -17,10 +17,12 @@ import org.bukkit.event.inventory.InventoryClickEvent object SlotTypeClose : SlotType("close") { override fun create(config: Config, plugin: EcoPlugin, context: ViolationContext): SlotFunction { - return object : SlotFunction { - override fun execute(player: Player, event: InventoryClickEvent, slot: Slot, menu: Menu) { - menu.close(player) - } + return CloseSlotFunction + } + + private object CloseSlotFunction : SlotFunction { + override fun execute(player: Player, event: InventoryClickEvent, slot: Slot, menu: Menu) { + menu.close(player) } } }