From 336905de924365f4e19ea57379a09368665c3d4e Mon Sep 17 00:00:00 2001 From: fayer3 Date: Mon, 9 Sep 2024 22:34:49 +0200 Subject: [PATCH] add hover text to the copy info chat message --- common/src/main/java/net/irisshaders/iris/Iris.java | 3 ++- .../net/irisshaders/iris/mixin/MixinClientPacketListener.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/net/irisshaders/iris/Iris.java b/common/src/main/java/net/irisshaders/iris/Iris.java index b8e0a0e0bc..5a2d07b74b 100644 --- a/common/src/main/java/net/irisshaders/iris/Iris.java +++ b/common/src/main/java/net/irisshaders/iris/Iris.java @@ -43,6 +43,7 @@ import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.network.chat.ClickEvent; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.HoverEvent; import org.jetbrains.annotations.NotNull; import org.lwjgl.glfw.GLFW; @@ -341,7 +342,7 @@ private static void handleException(Exception e) { } else { if (Minecraft.getInstance().player != null) { Minecraft.getInstance().player.displayClientMessage(Component.translatable(e instanceof ShaderCompileException ? "iris.load.failure.shader" : "iris.load.failure.generic").append(Component.literal("Copy Info").withStyle(arg -> arg.withUnderlined(true).withColor( - ChatFormatting.BLUE).withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, e.getMessage())))), false); + ChatFormatting.BLUE).withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, e.getMessage())).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, Component.translatable("chat.copy.click"))))), false); } else { storedError = Optional.of(e); } diff --git a/common/src/main/java/net/irisshaders/iris/mixin/MixinClientPacketListener.java b/common/src/main/java/net/irisshaders/iris/mixin/MixinClientPacketListener.java index e72a92bd60..560de844bc 100644 --- a/common/src/main/java/net/irisshaders/iris/mixin/MixinClientPacketListener.java +++ b/common/src/main/java/net/irisshaders/iris/mixin/MixinClientPacketListener.java @@ -7,6 +7,7 @@ import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.network.chat.ClickEvent; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.HoverEvent; import net.minecraft.network.protocol.game.ClientboundLoginPacket; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -25,7 +26,7 @@ public class MixinClientPacketListener { Minecraft.getInstance().player.displayClientMessage(msg, false)); Iris.getStoredError().ifPresent(e -> - Minecraft.getInstance().player.displayClientMessage(Component.translatable(e instanceof ShaderCompileException ? "iris.load.failure.shader" : "iris.load.failure.generic").append(Component.literal("Copy Info").withStyle(arg -> arg.withUnderlined(true).withColor(ChatFormatting.BLUE).withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, e.getMessage())))), false)); + Minecraft.getInstance().player.displayClientMessage(Component.translatable(e instanceof ShaderCompileException ? "iris.load.failure.shader" : "iris.load.failure.generic").append(Component.literal("Copy Info").withStyle(arg -> arg.withUnderlined(true).withColor(ChatFormatting.BLUE).withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, e.getMessage())).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, Component.translatable("chat.copy.click"))))), false)); if (Iris.loadedIncompatiblePack()) { Minecraft.getInstance().gui.setTimes(10, 70, 140);