diff options
author | nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> | 2022-07-11 13:45:16 +0100 |
---|---|---|
committer | nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> | 2022-07-11 13:45:16 +0100 |
commit | 89938d618307955ac1218b0f286bb1b1ce252e35 (patch) | |
tree | bbab43e037fb75a22c933e8cd80cbe685eff4065 /src/main/kotlin/cc/woverflow/chatting/utils | |
parent | a0f40b674eb8696e4145aefc960ae0e87173fcb1 (diff) | |
download | Chatting-89938d618307955ac1218b0f286bb1b1ce252e35.tar.gz Chatting-89938d618307955ac1218b0f286bb1b1ce252e35.tar.bz2 Chatting-89938d618307955ac1218b0f286bb1b1ce252e35.zip |
hippity hoppity oneconfig is my property
Diffstat (limited to 'src/main/kotlin/cc/woverflow/chatting/utils')
-rw-r--r-- | src/main/kotlin/cc/woverflow/chatting/utils/ImageTransferable.kt | 22 | ||||
-rw-r--r-- | src/main/kotlin/cc/woverflow/chatting/utils/ModCompatHooks.kt | 40 | ||||
-rw-r--r-- | src/main/kotlin/cc/woverflow/chatting/utils/RenderUtils.kt (renamed from src/main/kotlin/cc/woverflow/chatting/utils/renderutils.kt) | 12 |
3 files changed, 40 insertions, 34 deletions
diff --git a/src/main/kotlin/cc/woverflow/chatting/utils/ImageTransferable.kt b/src/main/kotlin/cc/woverflow/chatting/utils/ImageTransferable.kt deleted file mode 100644 index 563f17a..0000000 --- a/src/main/kotlin/cc/woverflow/chatting/utils/ImageTransferable.kt +++ /dev/null @@ -1,22 +0,0 @@ -package cc.woverflow.chatting.utils - -import java.awt.Image -import java.awt.datatransfer.DataFlavor -import java.awt.datatransfer.Transferable -import java.awt.datatransfer.UnsupportedFlavorException - -data class ImageTransferable(private val image: Image) : Transferable { - - override fun getTransferDataFlavors(): Array<DataFlavor> { - return arrayOf(DataFlavor.imageFlavor) - } - - override fun isDataFlavorSupported(flavor: DataFlavor?): Boolean { - return DataFlavor.imageFlavor.equals(flavor) - } - - override fun getTransferData(flavor: DataFlavor?): Any { - if (isDataFlavorSupported(flavor)) return image - throw UnsupportedFlavorException(flavor) - } -}
\ No newline at end of file diff --git a/src/main/kotlin/cc/woverflow/chatting/utils/ModCompatHooks.kt b/src/main/kotlin/cc/woverflow/chatting/utils/ModCompatHooks.kt index 39455ae..fd337de 100644 --- a/src/main/kotlin/cc/woverflow/chatting/utils/ModCompatHooks.kt +++ b/src/main/kotlin/cc/woverflow/chatting/utils/ModCompatHooks.kt @@ -4,7 +4,6 @@ import cc.woverflow.chatting.Chatting.isBetterChat import cc.woverflow.chatting.Chatting.isPatcher import cc.woverflow.chatting.config.ChattingConfig.textRenderType import cc.woverflow.chatting.hook.GuiNewChatHook -import cc.woverflow.onecore.utils.drawBorderedString import club.sk1er.patcher.config.PatcherConfig import com.llamalad7.betterchat.BetterChat import net.minecraft.client.Minecraft @@ -36,8 +35,45 @@ object ModCompatHooks { fun redirectDrawString(text: String, x: Float, y: Float, color: Int): Int { return when (textRenderType) { 0 -> fontRenderer.drawString(text, x, y, color, false) - 2 -> fontRenderer.drawBorderedString(text, x.toInt(), y.toInt(), color, (Minecraft.getMinecraft().ingameGUI.chatGUI as GuiNewChatHook).textOpacity) + 2 -> fontRenderer.drawBorderedString( + text, + x.toInt(), + y.toInt(), + color, + (Minecraft.getMinecraft().ingameGUI.chatGUI as GuiNewChatHook).textOpacity + ) + else -> fontRenderer.drawString(text, x, y, color, true) } } + + + private val regex = Regex("(?i)\\u00A7[0-9a-f]") + private var bypassNameHighlight = false + fun FontRenderer.drawBorderedString( + text: String, x: Int, y: Int, color: Int, opacity: Int + ): Int { + val noColors = text.replace(regex, "\u00A7r") + var yes = 0 + if (opacity > 3) { + bypassNameHighlight = true + for (xOff in -2..2) { + for (yOff in -2..2) { + if (xOff * xOff != yOff * yOff) { + yes += + drawString( + noColors, (xOff / 2f) + x, (yOff / 2f) + y, (opacity) shl 24, false + ) + + } + } + } + bypassNameHighlight = false + } + yes += + //#if MODERN==0 + drawString(text, x, y, color) + + return yes + } } diff --git a/src/main/kotlin/cc/woverflow/chatting/utils/renderutils.kt b/src/main/kotlin/cc/woverflow/chatting/utils/RenderUtils.kt index 19835ac..12051cf 100644 --- a/src/main/kotlin/cc/woverflow/chatting/utils/renderutils.kt +++ b/src/main/kotlin/cc/woverflow/chatting/utils/RenderUtils.kt @@ -2,18 +2,11 @@ package cc.woverflow.chatting.utils +import cc.polyfrost.oneconfig.utils.IOUtils import cc.woverflow.chatting.config.ChattingConfig -import cc.woverflow.chatting.mixin.GuiNewChatAccessor -import cc.woverflow.chatting.utils.ModCompatHooks.fontRenderer -import gg.essential.universal.ChatColor -import gg.essential.universal.UMouse -import net.minecraft.client.Minecraft -import net.minecraft.client.gui.ChatLine -import net.minecraft.client.gui.ScaledResolution import net.minecraft.client.renderer.GlStateManager import net.minecraft.client.renderer.texture.TextureUtil import net.minecraft.client.shader.Framebuffer -import net.minecraft.util.MathHelper import org.apache.commons.lang3.SystemUtils import org.lwjgl.BufferUtils import org.lwjgl.opengl.GL11 @@ -28,7 +21,6 @@ import java.lang.reflect.Method import java.nio.ByteBuffer import java.nio.ByteOrder import javax.imageio.ImageIO -import kotlin.math.roundToInt /** * Taken from https://github.com/Moulberry/HyChat @@ -178,7 +170,7 @@ fun BufferedImage.copyToClipboard() { newImage.setRGB(0, 0, newImage.width, newImage.height, pixels, 0, newImage.width) try { - Toolkit.getDefaultToolkit().systemClipboard.setContents(ImageTransferable(this), null) + IOUtils.copyImageToClipboard(this) } catch (e: Exception) { e.printStackTrace() } |