From b9c0aaa585a913d5c139c8e5aa7437925b1acfa2 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Thu, 4 Apr 2024 20:31:39 +0200 Subject: Improvement: Anita and SkyMart highlight (#1118) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../skyhanni/data/HighlightOnHoverSlot.kt | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/at/hannibal2/skyhanni/data/HighlightOnHoverSlot.kt (limited to 'src/main/java/at/hannibal2/skyhanni/data') diff --git a/src/main/java/at/hannibal2/skyhanni/data/HighlightOnHoverSlot.kt b/src/main/java/at/hannibal2/skyhanni/data/HighlightOnHoverSlot.kt new file mode 100644 index 000000000..9e99fdbae --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/data/HighlightOnHoverSlot.kt @@ -0,0 +1,36 @@ +package at.hannibal2.skyhanni.data + +import at.hannibal2.skyhanni.events.GuiContainerEvent +import at.hannibal2.skyhanni.events.InventoryCloseEvent +import at.hannibal2.skyhanni.events.InventoryOpenEvent +import at.hannibal2.skyhanni.utils.InventoryUtils +import at.hannibal2.skyhanni.utils.LorenzColor +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.RenderUtils.highlight +import net.minecraftforge.fml.common.eventhandler.EventPriority +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +object HighlightOnHoverSlot { + val currentSlots = mutableMapOf, List>() + + @SubscribeEvent + fun onInventoryOpen(event: InventoryOpenEvent) { + currentSlots.clear() + } + + @SubscribeEvent + fun onInventoryClose(event: InventoryCloseEvent) { + currentSlots.clear() + } + + @SubscribeEvent(priority = EventPriority.LOW) + fun onDrawBackground(event: GuiContainerEvent.BackgroundDrawnEvent) { + if (!LorenzUtils.inSkyBlock) return + val list = currentSlots.flatMapTo(mutableSetOf()) { it.value } + for (slot in InventoryUtils.getItemsInOpenChest()) { + if (slot.slotNumber in list) { + slot highlight LorenzColor.GREEN + } + } + } +} -- cgit