diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-07-10 17:37:05 +0300 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-07-22 14:25:14 +0800 |
commit | e316a165d8f7f812afa6d3c9f2f0f576fd1e6f93 (patch) | |
tree | ccd7b2799f30e38e7ffac5d76e6df6a9990e2b95 | |
parent | 147ff2ea47d282e6faf81a85f1053b49f6ee73ff (diff) | |
download | Skyblocker-e316a165d8f7f812afa6d3c9f2f0f576fd1e6f93.tar.gz Skyblocker-e316a165d8f7f812afa6d3c9f2f0f576fd1e6f93.tar.bz2 Skyblocker-e316a165d8f7f812afa6d3c9f2f0f576fd1e6f93.zip |
Change tooltip manager to allow adding tooltips on non-handled screens
3 files changed, 7 insertions, 9 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java index e89a1995..ad4e181d 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java @@ -4,12 +4,12 @@ import de.hysky.skyblocker.mixins.accessors.HandledScreenAccessor; import de.hysky.skyblocker.skyblock.bazaar.ReorderHelper; import de.hysky.skyblocker.skyblock.chocolatefactory.ChocolateFactorySolver; import de.hysky.skyblocker.skyblock.item.tooltip.adders.*; -import de.hysky.skyblocker.skyblock.item.tooltip.adders.CraftPriceTooltip; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.container.TooltipAdder; import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; @@ -53,14 +53,12 @@ public class TooltipManager { } }); ScreenEvents.AFTER_INIT.register((client, screen, width, height) -> { - if (screen instanceof HandledScreen<?> handledScreen) { - onScreenChange(handledScreen); - } + onScreenChange(screen); ScreenEvents.remove(screen).register(ignored -> currentScreenAdders.clear()); }); } - private static void onScreenChange(HandledScreen<?> screen) { + private static void onScreenChange(Screen screen) { currentScreenAdders.clear(); for (TooltipAdder adder : adders) { if (adder.isEnabled() && adder.test(screen)) { diff --git a/src/main/java/de/hysky/skyblocker/utils/container/ContainerMatcher.java b/src/main/java/de/hysky/skyblocker/utils/container/ContainerMatcher.java index 52418f22..61d3821e 100644 --- a/src/main/java/de/hysky/skyblocker/utils/container/ContainerMatcher.java +++ b/src/main/java/de/hysky/skyblocker/utils/container/ContainerMatcher.java @@ -1,6 +1,6 @@ package de.hysky.skyblocker.utils.container; -import net.minecraft.client.gui.screen.ingame.HandledScreen; +import net.minecraft.client.gui.screen.Screen; import org.jetbrains.annotations.NotNull; public interface ContainerMatcher { @@ -8,7 +8,7 @@ public interface ContainerMatcher { * Tests if the given screen should be handled by this matcher. * @return {@code true} if this matcher should apply to the given screen, {@code false} otherwise */ - boolean test(@NotNull HandledScreen<?> screen); + boolean test(@NotNull Screen screen); /** * @return {@code true} if this matcher is enabled, {@code false} otherwise diff --git a/src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java b/src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java index 4df0fe1a..4f9d49ae 100644 --- a/src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java +++ b/src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.utils.container; import de.hysky.skyblocker.skyblock.ChestValue; -import net.minecraft.client.gui.screen.ingame.HandledScreen; +import net.minecraft.client.gui.screen.Screen; import org.intellij.lang.annotations.Language; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -26,7 +26,7 @@ public abstract class RegexContainerMatcher implements ContainerMatcher { public String[] groups = null; @Override - public boolean test(@NotNull HandledScreen<?> screen) { + public boolean test(@NotNull Screen screen) { return test(screen.getTitle().getString()); } |