aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-04-05 10:56:09 +1100
committerGitHub <noreply@github.com>2024-04-05 10:56:09 +1100
commit940b961edc0bea93fafa99764454196b0d47e42b (patch)
treec26528128271c5a008cc55d8387231862efec622 /src/main/java/at/hannibal2
parentd991a496edc2181806e56dd5aea07161349a4e87 (diff)
downloadskyhanni-940b961edc0bea93fafa99764454196b0d47e42b.tar.gz
skyhanni-940b961edc0bea93fafa99764454196b0d47e42b.tar.bz2
skyhanni-940b961edc0bea93fafa99764454196b0d47e42b.zip
Backend: Use only one inventory close event (#1184)
* use only one inventory close event * fix InventoryCloseEvent not getting called when closing player inventory, not fully opened inventories, and sometimes leaving inventories by opening other mod menus * used event in minion collection, and renamed functions --------- Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/OtherInventoryData.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/InventoryCloseEvent.kt11
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/contest/FarmingContestAPI.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/inventory/LogBookStats.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/PowerStoneGuideFeatures.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/minion/MinionCollectLogic.kt5
11 files changed, 15 insertions, 41 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt b/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
index 601fafb12..498d87d10 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
@@ -1,6 +1,6 @@
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.events.ItemAddEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
@@ -42,7 +42,7 @@ class ItemAddManager {
}
@SubscribeEvent
- fun onInventoryClose(event: GuiContainerEvent.CloseWindowEvent) {
+ fun onInventoryClose(event: InventoryCloseEvent) {
if (inSackInventory) {
inSackInventory = false
lastSackInventoryLeave = SimpleTimeMark.now()
diff --git a/src/main/java/at/hannibal2/skyhanni/data/OtherInventoryData.kt b/src/main/java/at/hannibal2/skyhanni/data/OtherInventoryData.kt
index 72395b4fc..cfe08927e 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/OtherInventoryData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/OtherInventoryData.kt
@@ -24,10 +24,8 @@ object OtherInventoryData {
}
fun close(reopenSameName: Boolean = false) {
- currentInventory?.let {
- InventoryCloseEvent(it, reopenSameName).postAndCatch()
- currentInventory = null
- }
+ InventoryCloseEvent(reopenSameName).postAndCatch()
+ currentInventory = null
}
@SubscribeEvent
@@ -50,8 +48,7 @@ object OtherInventoryData {
val windowId = packet.windowId
val title = packet.windowTitle.unformattedText
val slotCount = packet.slotCount
- val reopenSameName = title == currentInventory?.title
- close(reopenSameName)
+ close(reopenSameName = title == currentInventory?.title)
currentInventory = Inventory(windowId, title, slotCount)
acceptItems = true
diff --git a/src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt b/src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt
index edc07287a..759254ff6 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt
@@ -1,6 +1,7 @@
package at.hannibal2.skyhanni.data
import at.hannibal2.skyhanni.events.GuiContainerEvent
+import at.hannibal2.skyhanni.events.InventoryCloseEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.events.LorenzTickEvent
import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent
@@ -106,7 +107,7 @@ class OwnInventoryData {
}
@SubscribeEvent
- fun onInventoryClose(event: GuiContainerEvent.CloseWindowEvent) {
+ fun onInventoryClose(event: InventoryCloseEvent) {
val item = Minecraft.getMinecraft().thePlayer.inventory.itemStack ?: return
val internalNameOrNull = item.getInternalNameOrNull() ?: return
ignoreItem(500.milliseconds) { it == internalNameOrNull }
diff --git a/src/main/java/at/hannibal2/skyhanni/events/InventoryCloseEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/InventoryCloseEvent.kt
index 7b94efd55..70e87a53e 100644
--- a/src/main/java/at/hannibal2/skyhanni/events/InventoryCloseEvent.kt
+++ b/src/main/java/at/hannibal2/skyhanni/events/InventoryCloseEvent.kt
@@ -1,12 +1,3 @@
package at.hannibal2.skyhanni.events
-import at.hannibal2.skyhanni.data.OtherInventoryData
-import net.minecraft.item.ItemStack
-
-class InventoryCloseEvent(val inventory: OtherInventoryData.Inventory, val reopenSameName: Boolean) : LorenzEvent() {
-
- val inventoryId: Int by lazy { inventory.windowId }
- val inventoryName: String by lazy { inventory.title }
- val inventorySize: Int by lazy { inventory.slotCount }
- val inventoryItems: Map<Int, ItemStack> by lazy { inventory.items }
-}
+class InventoryCloseEvent(val reopenSameName: Boolean) : LorenzEvent()
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt
index db00be611..8f44e5caa 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenAPI.kt
@@ -9,7 +9,7 @@ import at.hannibal2.skyhanni.events.BlockClickEvent
import at.hannibal2.skyhanni.events.ConfigLoadEvent
import at.hannibal2.skyhanni.events.CropClickEvent
import at.hannibal2.skyhanni.events.GardenToolChangeEvent
-import at.hannibal2.skyhanni.events.GuiContainerEvent
+import at.hannibal2.skyhanni.events.InventoryCloseEvent
import at.hannibal2.skyhanni.events.LorenzTickEvent
import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent
import at.hannibal2.skyhanni.events.PacketEvent
@@ -87,7 +87,7 @@ object GardenAPI {
}
@SubscribeEvent
- fun onCloseWindow(event: GuiContainerEvent.CloseWindowEvent) {
+ fun onInventoryClose(event: InventoryCloseEvent) {
if (!inGarden()) return
checkItemInHand()
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/contest/FarmingContestAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/contest/FarmingContestAPI.kt
index 36a2779a2..e1a939d08 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/contest/FarmingContestAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/contest/FarmingContestAPI.kt
@@ -2,7 +2,6 @@ package at.hannibal2.skyhanni.features.garden.contest
import at.hannibal2.skyhanni.data.ScoreboardData
import at.hannibal2.skyhanni.events.FarmingContestEvent
-import at.hannibal2.skyhanni.events.GuiContainerEvent
import at.hannibal2.skyhanni.events.InventoryCloseEvent
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
import at.hannibal2.skyhanni.events.LorenzTickEvent
@@ -102,11 +101,6 @@ object FarmingContestAPI {
}
@SubscribeEvent
- fun onInventoryClose(event: GuiContainerEvent.CloseWindowEvent) {
- inInventory = false
- }
-
- @SubscribeEvent
fun onInventoryClose(event: InventoryCloseEvent) {
inInventory = false
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt
index abd29aee6..7fb3439f7 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt
@@ -1,6 +1,6 @@
package at.hannibal2.skyhanni.features.garden.farming
-import at.hannibal2.skyhanni.events.GuiContainerEvent
+import at.hannibal2.skyhanni.events.InventoryCloseEvent
import at.hannibal2.skyhanni.events.OwnInventoryItemUpdateEvent
import at.hannibal2.skyhanni.features.garden.GardenAPI
import at.hannibal2.skyhanni.utils.ChatUtils
@@ -20,7 +20,7 @@ class WildStrawberryDyeNotification {
val item by lazy { "DYE_WILD_STRAWBERRY".asInternalName() }
@SubscribeEvent
- fun onCloseWindow(event: GuiContainerEvent.CloseWindowEvent) {
+ fun onInventoryClose(event: InventoryCloseEvent) {
lastCloseTime = System.currentTimeMillis()
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/inventory/LogBookStats.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/inventory/LogBookStats.kt
index cb409afdb..767ed6d33 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/inventory/LogBookStats.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/inventory/LogBookStats.kt
@@ -94,7 +94,7 @@ class LogBookStats {
}
@SubscribeEvent
- fun onInventoryClosed(event: InventoryCloseEvent) {
+ fun onInventoryClose(event: InventoryCloseEvent) {
inInventory = false
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/PowerStoneGuideFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/PowerStoneGuideFeatures.kt
index bdc438fce..8401b7f30 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/PowerStoneGuideFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/PowerStoneGuideFeatures.kt
@@ -45,11 +45,6 @@ class PowerStoneGuideFeatures {
}
@SubscribeEvent
- fun onInventoryClose(event: GuiContainerEvent.CloseWindowEvent) {
- inInventory = false
- }
-
- @SubscribeEvent
fun onBackgroundDrawn(event: GuiContainerEvent.BackgroundDrawnEvent) {
if (!isEnabled()) return
if (!inInventory) return
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt
index 204fc9dd9..b6a1bbc7f 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt
@@ -86,9 +86,6 @@ class SkyblockGuideHighlightFeature private constructor(
fun onInventoryClose(event: InventoryCloseEvent) = close()
@SubscribeEvent
- fun onInventoryClose(event: GuiContainerEvent.CloseWindowEvent) = close()
-
- @SubscribeEvent
fun onSlotClick(event: GuiContainerEvent.SlotClickEvent) {
if (!isEnabled()) return
val current = activeObject ?: return
diff --git a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionCollectLogic.kt b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionCollectLogic.kt
index 310b67ebb..858e6d0dd 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionCollectLogic.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionCollectLogic.kt
@@ -1,6 +1,6 @@
package at.hannibal2.skyhanni.features.minion
-import at.hannibal2.skyhanni.events.GuiContainerEvent
+import at.hannibal2.skyhanni.events.InventoryCloseEvent
import at.hannibal2.skyhanni.events.MinionOpenEvent
import at.hannibal2.skyhanni.events.entity.ItemAddInInventoryEvent
import at.hannibal2.skyhanni.utils.InventoryUtils
@@ -30,9 +30,8 @@ class MinionCollectLogic {
return map
}
- // hypixel opens a new inventory after clicking on an item in minion inventory, InventoryCloseEvent isn't usable here
@SubscribeEvent
- fun onCloseWindow(event: GuiContainerEvent.CloseWindowEvent) {
+ fun onInventoryClose(event: InventoryCloseEvent) {
closeMinion()
}