aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/inventory/MuseumTooltipManager.kt18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/inventory/MuseumTooltipManager.kt b/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/inventory/MuseumTooltipManager.kt
index 675708e9..307475e6 100644
--- a/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/inventory/MuseumTooltipManager.kt
+++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/inventory/MuseumTooltipManager.kt
@@ -29,6 +29,7 @@ import io.github.moulberry.notenoughupdates.util.Utils
import io.github.moulberry.notenoughupdates.util.kotlin.KSerializable
import io.github.moulberry.notenoughupdates.util.stripControlCodes
import net.minecraft.inventory.ContainerChest
+import net.minecraft.inventory.Slot
import net.minecraft.util.EnumChatFormatting
import net.minecraftforge.event.world.WorldEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
@@ -116,6 +117,8 @@ object MuseumTooltipManager {
return profileData.visitedOnce
}
+ private var previousSlots: List<Slot> = emptyList()
+
@SubscribeEvent
fun onBackgroundDrawn(event: GuiContainerBackgroundDrawnEvent) {
val gui = event.container ?: return
@@ -125,14 +128,17 @@ object MuseumTooltipManager {
val armor = Utils.getOpenChestName().stripControlCodes().endsWith("Armor Sets")
val slots = chest.inventorySlots
- for (i in 0..53) {
- val slot = slots[i]
- if (slot == null || slot.stack == null) continue
- val item = MuseumUtil.findMuseumItem(slot.stack, armor) ?: continue
- if (donatedStates.contains(item.state)) {
- addItemToDonatedList(item.skyblockItemIds)
+ if (!slots.equals(previousSlots)) {
+ for (i in 0..53) {
+ val slot = slots[i]
+ if (slot == null || slot.stack == null) continue
+ val item = MuseumUtil.findMuseumItem(slot.stack, armor) ?: continue
+ if (donatedStates.contains(item.state)) {
+ addItemToDonatedList(item.skyblockItemIds)
+ }
}
}
+ previousSlots = slots
}
@SubscribeEvent