diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-06-11 23:32:14 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-06-11 23:32:14 +0800 |
commit | 938ba92305d3ac3f1ebe91f106aea35ca92e6ab6 (patch) | |
tree | bfba593636bd8f4442aa7a161600534fdb2da62b /src/main/java/de/hysky/skyblocker/skyblock | |
parent | c96b69fdba88e0f311fa825d9ceb8a8e2ab2c37e (diff) | |
download | Skyblocker-938ba92305d3ac3f1ebe91f106aea35ca92e6ab6.tar.gz Skyblocker-938ba92305d3ac3f1ebe91f106aea35ca92e6ab6.tar.bz2 Skyblocker-938ba92305d3ac3f1ebe91f106aea35ca92e6ab6.zip |
Move TooltipManager injection point to ItemTooltipCallback
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java | 11 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/itemlist/ResultButtonWidget.java | 4 |
2 files changed, 12 insertions, 3 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 1e7950e3..e3a2ef04 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 @@ -1,10 +1,14 @@ package de.hysky.skyblocker.skyblock.item.tooltip; +import de.hysky.skyblocker.mixins.accessors.HandledScreenAccessor; import de.hysky.skyblocker.skyblock.chocolatefactory.ChocolateFactorySolver; import de.hysky.skyblocker.skyblock.item.tooltip.adders.*; import de.hysky.skyblocker.utils.Utils; +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; import net.minecraft.text.Text; @@ -36,6 +40,13 @@ public class TooltipManager { } public static void init() { + ItemTooltipCallback.EVENT.register((stack, tooltipContext, tooltipType, lines) -> { + if (MinecraftClient.getInstance().currentScreen instanceof HandledScreen<?> handledScreen) { + addToTooltip(((HandledScreenAccessor) handledScreen).getFocusedSlot(), stack, lines); + } else { + addToTooltip(null, stack, lines); + } + }); ScreenEvents.AFTER_INIT.register((client, screen, width, height) -> { onScreenChange(screen); ScreenEvents.remove(screen).register(ignored -> currentScreenAdders.clear()); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ResultButtonWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ResultButtonWidget.java index 9e2ec0b3..6af03f31 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ResultButtonWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ResultButtonWidget.java @@ -1,10 +1,8 @@ package de.hysky.skyblocker.skyblock.itemlist; -import de.hysky.skyblocker.mixins.accessors.HandledScreenAccessor; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.widget.ClickableWidget; import net.minecraft.item.ItemStack; @@ -44,7 +42,7 @@ public class ResultButtonWidget extends ClickableWidget { public void renderTooltip(DrawContext context, int mouseX, int mouseY) { MinecraftClient client = MinecraftClient.getInstance(); if (client.currentScreen == null) return; - List<Text> tooltip = client.currentScreen instanceof HandledScreen<?> handledScreen ? ((HandledScreenAccessor) handledScreen).invokeGetTooltipFromItem(this.itemStack) : Screen.getTooltipFromItem(client, this.itemStack); + List<Text> tooltip = Screen.getTooltipFromItem(client, this.itemStack); client.currentScreen.setTooltip(tooltip.stream().map(Text::asOrderedText).toList()); } |