aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com>2024-07-21 21:33:53 +1000
committerGitHub <noreply@github.com>2024-07-21 13:33:53 +0200
commit36e2c0f488fbe194e45f34f5b7ac44bb7f42f550 (patch)
treee3f424e0f90f98f38e61fea892544a802dd79b77
parent4f5b6db62bcb0f9d73429c08259f26dc35462e82 (diff)
downloadnotenoughupdates-36e2c0f488fbe194e45f34f5b7ac44bb7f42f550.tar.gz
notenoughupdates-36e2c0f488fbe194e45f34f5b7ac44bb7f42f550.tar.bz2
notenoughupdates-36e2c0f488fbe194e45f34f5b7ac44bb7f42f550.zip
Fix fps in armour museum page (#1262)
-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