From 2dda35ea7416e1c072e658e21194357d5ea92cdb Mon Sep 17 00:00:00 2001 From: Bixilon Date: Sat, 21 May 2022 14:14:14 +0200 Subject: [PATCH] internal chat: differentiate between debug and internal messages --- .../commands/stack/print/PlayerPrintTarget.kt | 2 +- .../minosoft/gui/rendering/RenderConstants.kt | 1 + .../gui/rendering/util/ScreenshotTaker.kt | 25 ++++++++++--------- .../network/connection/play/ConnectionUtil.kt | 12 +++++++-- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/commands/stack/print/PlayerPrintTarget.kt b/src/main/java/de/bixilon/minosoft/commands/stack/print/PlayerPrintTarget.kt index 18ddf336c..c9a8444c2 100644 --- a/src/main/java/de/bixilon/minosoft/commands/stack/print/PlayerPrintTarget.kt +++ b/src/main/java/de/bixilon/minosoft/commands/stack/print/PlayerPrintTarget.kt @@ -18,6 +18,6 @@ import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection class PlayerPrintTarget(val connection: PlayConnection) : PrintTarget { override fun print(message: Any) { - connection.util.sendDebugMessage(message) + connection.util.sendInternal(message) } } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/RenderConstants.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/RenderConstants.kt index 52c78672d..4902082e2 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/RenderConstants.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/RenderConstants.kt @@ -29,6 +29,7 @@ object RenderConstants { const val COLORMAP_SIZE = 255 const val DEBUG_MESSAGES_PREFIX = "§f[§e§lDEBUG§f] " + const val INTERNAL_MESSAGES_PREFIX = "§f[§a§lINTERNAL§f] " val TEXT_BACKGROUND_COLOR = RGBColor(0, 0, 0, 80) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/util/ScreenshotTaker.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/util/ScreenshotTaker.kt index 9458038a4..23e8abd6e 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/util/ScreenshotTaker.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/util/ScreenshotTaker.kt @@ -76,17 +76,18 @@ class ScreenshotTaker( ImageIO.write(bufferedImage, "png", file) var deleted = false - renderWindow.connection.util.sendDebugMessage(BaseComponent( - "§aScreenshot saved: ", - TextComponent(file.name).apply { - color = ChatColors.WHITE - underline() - clickEvent = OpenFileClickEvent(file.slashPath) - hoverEvent = TextHoverEvent("Click to open") - }, - " ", - TextComponent("[DELETE]").apply { - color = ChatColors.RED + renderWindow.connection.util.sendInternal( + BaseComponent( + "§aScreenshot saved: ", + TextComponent(file.name).apply { + color = ChatColors.WHITE + underline() + clickEvent = OpenFileClickEvent(file.slashPath) + hoverEvent = TextHoverEvent("Click to open") + }, + " ", + TextComponent("[DELETE]").apply { + color = ChatColors.RED bold() clickEvent = ClickCallbackClickEvent { if (deleted) { @@ -113,7 +114,7 @@ class ScreenshotTaker( private fun Throwable?.fail() { this?.printStackTrace() - renderWindow.connection.util.sendDebugMessage("§cFailed to make a screenshot: ${this?.message}") + renderWindow.connection.util.sendInternal("§cFailed to make a screenshot: ${this?.message}") } companion object { diff --git a/src/main/java/de/bixilon/minosoft/protocol/network/connection/play/ConnectionUtil.kt b/src/main/java/de/bixilon/minosoft/protocol/network/connection/play/ConnectionUtil.kt index 29a9fc812..4c50fa82c 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/network/connection/play/ConnectionUtil.kt +++ b/src/main/java/de/bixilon/minosoft/protocol/network/connection/play/ConnectionUtil.kt @@ -33,8 +33,16 @@ class ConnectionUtil( ) { fun sendDebugMessage(message: Any) { - connection.fireEvent(InternalMessageReceiveEvent(connection, BaseComponent(RenderConstants.DEBUG_MESSAGES_PREFIX, ChatComponent.of(message).apply { applyDefaultColor(ChatColors.BLUE) }))) - Log.log(LogMessageType.CHAT_IN, LogLevels.INFO) { message } + val component = BaseComponent(RenderConstants.DEBUG_MESSAGES_PREFIX, ChatComponent.of(message).apply { applyDefaultColor(ChatColors.BLUE) }) + connection.fireEvent(InternalMessageReceiveEvent(connection, component)) + Log.log(LogMessageType.CHAT_IN, LogLevels.INFO) { component } + } + + fun sendInternal(message: Any) { + val component = ChatComponent.of(message) + val prefixed = BaseComponent(RenderConstants.INTERNAL_MESSAGES_PREFIX, component) + connection.fireEvent(InternalMessageReceiveEvent(connection, if (connection.profiles.gui.chat.internal.hidden) prefixed else component)) + Log.log(LogMessageType.CHAT_IN, LogLevels.INFO) { prefixed } } fun sendChatMessage(message: String) {