aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2024-07-10 17:37:05 +0300
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-07-22 14:25:14 +0800
commite316a165d8f7f812afa6d3c9f2f0f576fd1e6f93 (patch)
treeccd7b2799f30e38e7ffac5d76e6df6a9990e2b95
parent147ff2ea47d282e6faf81a85f1053b49f6ee73ff (diff)
downloadSkyblocker-e316a165d8f7f812afa6d3c9f2f0f576fd1e6f93.tar.gz
Skyblocker-e316a165d8f7f812afa6d3c9f2f0f576fd1e6f93.tar.bz2
Skyblocker-e316a165d8f7f812afa6d3c9f2f0f576fd1e6f93.zip
Change tooltip manager to allow adding tooltips on non-handled screens
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/container/ContainerMatcher.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java4
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());
}