diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2022-08-17 09:38:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-17 09:38:24 +0200 |
| commit | 5d2aa40fdee044c0579f426bff279b9d631e306f (patch) | |
| tree | 9596afb42da307f874b0bb06ae5aeeae04465aea /src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PowerStoneStatsDisplay.java | |
| parent | 1d23d88488f1266538275e3c069916c1fec58281 (diff) | |
| download | notenoughupdates-5d2aa40fdee044c0579f426bff279b9d631e306f.tar.gz notenoughupdates-5d2aa40fdee044c0579f426bff279b9d631e306f.tar.bz2 notenoughupdates-5d2aa40fdee044c0579f426bff279b9d631e306f.zip | |
Probably fixing Lag spikes (#229)
* using method getOpenChestName instead of field lastOpenContainerName
* probably fixing lag spikes in power stone stats display
* using new getOpenChestName in EnchantingSolvers
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PowerStoneStatsDisplay.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PowerStoneStatsDisplay.java | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PowerStoneStatsDisplay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PowerStoneStatsDisplay.java index e62e572d..975bbe6e 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PowerStoneStatsDisplay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PowerStoneStatsDisplay.java @@ -23,15 +23,13 @@ import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.core.util.StringUtils; import io.github.moulberry.notenoughupdates.options.NEUConfig; import io.github.moulberry.notenoughupdates.util.ItemUtils; +import io.github.moulberry.notenoughupdates.util.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.gui.inventory.GuiChest; import net.minecraft.inventory.Container; -import net.minecraft.inventory.ContainerChest; -import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import net.minecraftforge.client.event.GuiOpenEvent; import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; @@ -43,7 +41,8 @@ import java.util.Locale; public class PowerStoneStatsDisplay { private static PowerStoneStatsDisplay instance = null; - NumberFormat format = NumberFormat.getInstance(Locale.US); + private final NumberFormat format = NumberFormat.getInstance(Locale.US); + private boolean dirty = true; public static PowerStoneStatsDisplay getInstance() { if (instance == null) { @@ -54,14 +53,12 @@ public class PowerStoneStatsDisplay { @SubscribeEvent public void onTick(TickEvent event) { - GuiScreen currentScreen = Minecraft.getMinecraft().currentScreen; - if (currentScreen == null) return; - if (!(currentScreen instanceof GuiChest)) return; - ContainerChest container = (ContainerChest) ((GuiChest) currentScreen).inventorySlots; - IInventory menu = container.getLowerChestInventory(); - String title = menu.getDisplayName().getUnformattedText(); + if (!dirty) return; - if (!title.equals("SkyBlock Menu")) return; + if (!Utils.getOpenChestName().equals("SkyBlock Menu")) { + dirty = false; + return; + } EntityPlayerSP p = Minecraft.getMinecraft().thePlayer; Container openContainer = p.openContainer; @@ -78,12 +75,20 @@ public class PowerStoneStatsDisplay { NEUConfig.HiddenProfileSpecific configProfileSpecific = NotEnoughUpdates.INSTANCE.config.getProfileSpecific(); if (configProfileSpecific == null) return; configProfileSpecific.magicalPower = Integer.parseInt(rawNumber); + dirty = false; } } } } @SubscribeEvent + public void onGuiOpen(GuiOpenEvent event) { + if (event.gui != null) { + dirty = true; + } + } + + @SubscribeEvent public void onItemTooltipLow(ItemTooltipEvent event) { if (!NotEnoughUpdates.INSTANCE.config.tooltipTweaks.powerStoneStats) return; |
