From 46a27942a8881172063055dc4780da01642fb219 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Mon, 13 May 2024 12:43:11 +0200 Subject: Fix: wrong chat color when using hypixel command /show (#1781) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt | 8 ++++++++ src/main/java/at/hannibal2/skyhanni/utils/LorenzColor.kt | 4 ++++ 2 files changed, 12 insertions(+) (limited to 'src/main/java/at/hannibal2/skyhanni/utils') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt index d1dce7fe3..728fa667b 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt @@ -14,6 +14,7 @@ import at.hannibal2.skyhanni.utils.chat.Text.prefix import at.hannibal2.skyhanni.utils.chat.Text.url import net.minecraft.client.Minecraft import net.minecraft.util.ChatComponentText +import net.minecraft.util.ChatStyle import net.minecraft.util.IChatComponent import net.minecraftforge.fml.common.eventhandler.SubscribeEvent import java.util.LinkedList @@ -268,4 +269,11 @@ object ChatUtils { } ) } + + fun IChatComponent.changeColor(color: LorenzColor): IChatComponent { + chatStyle = ChatStyle().also { + it.color = color.toChatFormatting() + } + return this + } } diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzColor.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzColor.kt index bb9ab0c03..8309a8f86 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzColor.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzColor.kt @@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.utils import at.hannibal2.skyhanni.test.command.ErrorManager import net.minecraft.item.EnumDyeColor +import net.minecraft.util.EnumChatFormatting import java.awt.Color enum class LorenzColor(val chatColorCode: Char, private val color: Color, private val coloredLabel: String) { @@ -62,6 +63,9 @@ enum class LorenzColor(val chatColorCode: Char, private val color: Color, privat CHROMA -> EnumDyeColor.WHITE } + fun toChatFormatting(): EnumChatFormatting? = + EnumChatFormatting.entries.firstOrNull { it.toString() == getChatColor() } + companion object { fun EnumDyeColor.toLorenzColor() = when (this) { -- cgit