diff options
| author | Linnea Gräf <nea@nea.moe> | 2024-02-14 20:46:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-14 20:46:25 +0100 |
| commit | eb4b815095666bd9d13074a052c4329ba9ac7da7 (patch) | |
| tree | 8171cb34e221c2deacc5549d55d6b28fa1ea3d5b /src/main/java/at/hannibal2/skyhanni/features | |
| parent | 029514e0324d8ae72ad181c06bcf081c5c2a6304 (diff) | |
| download | skyhanni-eb4b815095666bd9d13074a052c4329ba9ac7da7.tar.gz skyhanni-eb4b815095666bd9d13074a052c4329ba9ac7da7.tar.bz2 skyhanni-eb4b815095666bd9d13074a052c4329ba9ac7da7.zip | |
Add mod identification for outgoing mod calls and show this data in /shchathistory. #987
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/chat/ChatFilterGui.kt | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/chat/ChatFilterGui.kt b/src/main/java/at/hannibal2/skyhanni/features/chat/ChatFilterGui.kt index e40854c9d..0e9392ea0 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/chat/ChatFilterGui.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/chat/ChatFilterGui.kt @@ -7,6 +7,7 @@ import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.OSUtils import io.github.moulberry.moulconfig.internal.GlScissorStack import io.github.moulberry.moulconfig.internal.RenderUtils +import io.github.moulberry.notenoughupdates.util.Utils import net.minecraft.client.Minecraft import net.minecraft.client.gui.GuiScreen import net.minecraft.client.gui.GuiUtilRenderComponents @@ -27,18 +28,19 @@ class ChatFilterGui(private val history: List<ChatManager.MessageFilteringResult history.sumOf { splitLine(it.message).size * 10 + if (it.modified != null) splitLine(it.modified).size * 10 else 0 } } - override fun drawScreen(mouseX: Int, mouseY: Int, partialTicks: Float) { - super.drawScreen(mouseX, mouseY, partialTicks) + override fun drawScreen(originalMouseX: Int, originalMouseY: Int, partialTicks: Float) { + super.drawScreen(originalMouseX, originalMouseY, partialTicks) drawDefaultBackground() + var queuedTooltip: List<String>? = null GlStateManager.pushMatrix() val l = (width / 2.0 - w / 2.0).toInt() val t = (height / 2.0 - h / 2.0).toInt() GlStateManager.translate(l + 0.0, t + 0.0, 0.0) RenderUtils.drawFloatingRectDark(0, 0, w, h) GlStateManager.translate(5.0, 5.0 - scroll, 0.0) - var mouseX = mouseX - l - val isMouseButtonDown = mouseX in 0..w && mouseY in t..(t + h) && Mouse.isButtonDown(0) - var mouseY = mouseY - (t - scroll).toInt() + var mouseX = originalMouseX - l + val isMouseButtonDown = mouseX in 0..w && originalMouseY in t..(t + h) && Mouse.isButtonDown(0) + var mouseY = originalMouseY - (t - scroll).toInt() val sr = ScaledResolution(mc) GlScissorStack.push(l + 5, t + 5, w + l - 5, h + t - 5, sr) @@ -60,7 +62,12 @@ class ChatFilterGui(private val history: List<ChatManager.MessageFilteringResult ChatManager.ActionKind.maxLength + reasonMaxLength + 10, ) } - if (mouseX in 0..w && mouseY in 0..(size * 10) && (isMouseButtonDown && !wasMouseButtonDown)) { + val isHovered = mouseX in 0..w && mouseY in 0..(size * 10) + if (isHovered && msg.hoverInfo.isNotEmpty()) + queuedTooltip = msg.hoverInfo + if (isHovered && KeyboardManager.isShiftKeyDown() && msg.hoverExtraInfo.isNotEmpty()) + queuedTooltip = msg.hoverExtraInfo + if (isHovered && (isMouseButtonDown && !wasMouseButtonDown)) { if (KeyboardManager.isShiftKeyDown()) { OSUtils.copyToClipboard(IChatComponent.Serializer.componentToJson(msg.message)) ChatUtils.chat("Copied structured chat line to clipboard", false) @@ -75,6 +82,9 @@ class ChatFilterGui(private val history: List<ChatManager.MessageFilteringResult GlScissorStack.pop(sr) wasMouseButtonDown = isMouseButtonDown GlStateManager.popMatrix() + if (queuedTooltip != null) { + Utils.drawHoveringText(queuedTooltip, originalMouseX, originalMouseY, width, height, -1, mc.fontRendererObj) + } GlStateManager.color(1f, 1f, 1f, 1f) } |
