From 635341ff1283dd506ff67d1cdf24ebf4d8e16e45 Mon Sep 17 00:00:00 2001
From: Boy <sivertpaulsen2@gmail.com>
Date: Tue, 12 Dec 2023 14:34:15 +0100
Subject: [PATCH] refactor: code cleanup

---
 .../com/mineinabyss/emojy/EmojyHelpers.kt     |  2 +-
 .../mineinabyss/emojy/nms/EmojyNMSHandlers.kt |  7 ++---
 .../emojy/nms/v1_19_R1/EmojyNMSHandler.kt     |  4 +--
 .../emojy/nms/v1_19_R2/EmojyNMSHandler.kt     |  4 +--
 .../emojy/nms/v1_19_R3/EmojyNMSHandler.kt     |  4 +--
 .../emojy/nms/v1_20_R1/EmojyNMSHandler.kt     |  4 +--
 .../emojy/nms/v1_20_R2/EmojyNMSHandler.kt     |  6 ++--
 .../emojy/nms/v1_20_R3/EmojyNMSHandler.kt     | 29 +++++++++++--------
 8 files changed, 31 insertions(+), 29 deletions(-)

diff --git a/core/src/main/kotlin/com/mineinabyss/emojy/EmojyHelpers.kt b/core/src/main/kotlin/com/mineinabyss/emojy/EmojyHelpers.kt
index 339fb08..f4d8819 100644
--- a/core/src/main/kotlin/com/mineinabyss/emojy/EmojyHelpers.kt
+++ b/core/src/main/kotlin/com/mineinabyss/emojy/EmojyHelpers.kt
@@ -11,7 +11,7 @@ import net.kyori.adventure.text.TextReplacementConfig
 import net.kyori.adventure.translation.GlobalTranslator
 import org.bukkit.entity.Player
 
-fun Component.transform(player: Player?, insert: Boolean, isUtf: Boolean) = player?.let { replaceEmoteIds(it, insert) } ?: transformEmoteIds(insert, isUtf)
+fun Component.transform(player: Player?, insert: Boolean, isUtf: Boolean = true) = player?.let { replaceEmoteIds(it, insert) } ?: transformEmoteIds(insert, isUtf)
 
 private val spaceRegex: Regex = "(?<!\\\\):space_(-?\\d+):".toRegex()
 private val escapedSpaceRegex: Regex = "\\\\(:space_(-?\\d+):)".toRegex()
diff --git a/core/src/main/kotlin/com/mineinabyss/emojy/nms/EmojyNMSHandlers.kt b/core/src/main/kotlin/com/mineinabyss/emojy/nms/EmojyNMSHandlers.kt
index 106ee91..fe2b904 100644
--- a/core/src/main/kotlin/com/mineinabyss/emojy/nms/EmojyNMSHandlers.kt
+++ b/core/src/main/kotlin/com/mineinabyss/emojy/nms/EmojyNMSHandlers.kt
@@ -3,7 +3,6 @@ package com.mineinabyss.emojy.nms
 import com.google.gson.JsonObject
 import com.google.gson.JsonParser
 import com.mineinabyss.emojy.transform
-import io.papermc.paper.text.PaperComponents
 import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer
 import org.bukkit.entity.Player
 
@@ -31,13 +30,13 @@ object EmojyNMSHandlers {
     }
 
     private val gson = GsonComponentSerializer.gson()
-    fun JsonObject.formatString(player: Player? = null): String {
+    fun JsonObject.formatString() : String {
         return if (this.has("args") || this.has("text") || this.has("extra") || this.has("translate")) {
-            gson.serialize(gson.deserializeFromTree(this).transform(player, true, true))
+            gson.serialize(gson.deserializeFromTree(this).transform(null, true))
         } else this.toString()
     }
 
-    fun transformer(player: Player? = null) = { string: String ->
+    fun transformer() = { string: String ->
         runCatching {
             val element = JsonParser.parseString(string)
             if (element.isJsonObject) element.asJsonObject.formatString()
diff --git a/v1_19_R1/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R1/EmojyNMSHandler.kt b/v1_19_R1/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R1/EmojyNMSHandler.kt
index 4594740..9d8f3c0 100644
--- a/v1_19_R1/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R1/EmojyNMSHandler.kt
+++ b/v1_19_R1/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R1/EmojyNMSHandler.kt
@@ -211,7 +211,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
 
         private fun JsonObject.returnFormattedString(insert: Boolean = true): String {
             return if (this.has("args") || this.has("text") || this.has("extra") || this.has("translate")) {
-                gson.serialize(gson.deserialize(this.toString()).transform(null, insert, true))
+                gson.serialize(gson.deserialize(this.toString()).transform(null, insert))
             } else this.toString()
         }
 
@@ -235,7 +235,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
         }
 
         override fun readUtf(maxLength: Int): String {
-            return super.readUtf(maxLength).miniMsg().transform(player, false, true).serialize()
+            return super.readUtf(maxLength).miniMsg().transform(player, false).serialize()
         }
 
 
diff --git a/v1_19_R2/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R2/EmojyNMSHandler.kt b/v1_19_R2/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R2/EmojyNMSHandler.kt
index ea6a257..2d5767f 100644
--- a/v1_19_R2/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R2/EmojyNMSHandler.kt
+++ b/v1_19_R2/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R2/EmojyNMSHandler.kt
@@ -215,7 +215,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
 
         private fun JsonObject.returnFormattedString(): String {
             return if (this.has("args") || this.has("text") || this.has("extra") || this.has("translate")) {
-                gson.serialize(gson.deserialize(this.toString()).transform(null, true, true))
+                gson.serialize(gson.deserialize(this.toString()).transform(null, true))
             } else this.toString()
         }
 
@@ -239,7 +239,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
         }
 
         override fun readUtf(maxLength: Int): String {
-            return super.readUtf(maxLength).miniMsg().transform(player, false, true).serialize()
+            return super.readUtf(maxLength).miniMsg().transform(player, false).serialize()
         }
 
     }
diff --git a/v1_19_R3/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R3/EmojyNMSHandler.kt b/v1_19_R3/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R3/EmojyNMSHandler.kt
index ccd2325..834123b 100644
--- a/v1_19_R3/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R3/EmojyNMSHandler.kt
+++ b/v1_19_R3/src/main/kotlin/com/mineinabyss/emojy/nms/v1_19_R3/EmojyNMSHandler.kt
@@ -225,7 +225,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
 
         private fun JsonObject.returnFormattedString(): String {
             return if (this.has("args") || this.has("text") || this.has("extra") || this.has("translate")) {
-                gson.serialize(gson.deserialize(this.toString()).transform(player, true, true))
+                gson.serialize(gson.deserialize(this.toString()).transform(player, true))
             } else this.toString()
         }
 
@@ -249,7 +249,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
         }
 
         override fun readUtf(maxLength: Int): String {
-            return super.readUtf(maxLength).miniMsg().transform(player, false, true).serialize()
+            return super.readUtf(maxLength).miniMsg().transform(player, false).serialize()
         }
 
 
diff --git a/v1_20_R1/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R1/EmojyNMSHandler.kt b/v1_20_R1/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R1/EmojyNMSHandler.kt
index 2b193a6..a322e02 100644
--- a/v1_20_R1/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R1/EmojyNMSHandler.kt
+++ b/v1_20_R1/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R1/EmojyNMSHandler.kt
@@ -2,7 +2,6 @@
 
 package com.mineinabyss.emojy.nms.v1_20_R1
 
-import com.google.gson.JsonObject
 import com.google.gson.JsonParser
 import com.mineinabyss.emojy.emojy
 import com.mineinabyss.emojy.nms.EmojyNMSHandlers
@@ -16,7 +15,6 @@ import io.netty.buffer.ByteBuf
 import io.netty.channel.*
 import io.netty.handler.codec.ByteToMessageDecoder
 import io.netty.handler.codec.MessageToByteEncoder
-import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer
 import net.minecraft.nbt.CompoundTag
 import net.minecraft.nbt.ListTag
 import net.minecraft.nbt.StringTag
@@ -184,7 +182,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
         }
 
         override fun readUtf(maxLength: Int): String {
-            return super.readUtf(maxLength).miniMsg().transform(player, false, true).serialize()
+            return super.readUtf(maxLength).miniMsg().transform(player, false).serialize()
         }
 
     }
diff --git a/v1_20_R2/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R2/EmojyNMSHandler.kt b/v1_20_R2/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R2/EmojyNMSHandler.kt
index 2a65910..d87da35 100644
--- a/v1_20_R2/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R2/EmojyNMSHandler.kt
+++ b/v1_20_R2/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R2/EmojyNMSHandler.kt
@@ -146,7 +146,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
         }
 
         override fun readComponent(): net.minecraft.network.chat.Component {
-            return PaperAdventure.asVanilla(PaperAdventure.asAdventure(super.readComponent()).transform(player, true, true))
+            return PaperAdventure.asVanilla(PaperAdventure.asAdventure(super.readComponent()).transform(player, true, false))
         }
 
         override fun writeUtf(string: String, maxLength: Int): FriendlyByteBuf {
@@ -159,7 +159,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
         }
 
         override fun readUtf(maxLength: Int): String {
-            return super.readUtf(maxLength).miniMsg().transform(player, true, true).serialize()
+            return super.readUtf(maxLength).miniMsg().transform(player, true).serialize()
         }
 
         override fun writeNbt(compound: Tag?): FriendlyByteBuf {
@@ -170,7 +170,7 @@ class EmojyNMSHandler : IEmojyNMSHandler {
 
         override fun readNbt(): CompoundTag? {
             return super.readNbt()?.apply {
-                transform(this, EmojyNMSHandlers.transformer(player))
+                transform(this, EmojyNMSHandlers.transformer())
             }
         }
 
diff --git a/v1_20_R3/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R3/EmojyNMSHandler.kt b/v1_20_R3/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R3/EmojyNMSHandler.kt
index 9761317..80be579 100644
--- a/v1_20_R3/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R3/EmojyNMSHandler.kt
+++ b/v1_20_R3/src/main/kotlin/com/mineinabyss/emojy/nms/v1_20_R3/EmojyNMSHandler.kt
@@ -2,7 +2,6 @@
 
 package com.mineinabyss.emojy.nms.v1_20_R2
 
-import com.google.gson.JsonObject
 import com.google.gson.JsonParser
 import com.mineinabyss.emojy.emojy
 import com.mineinabyss.emojy.nms.EmojyNMSHandlers
@@ -15,8 +14,8 @@ import io.netty.buffer.ByteBuf
 import io.netty.channel.*
 import io.netty.handler.codec.ByteToMessageDecoder
 import io.netty.handler.codec.MessageToByteEncoder
+import io.papermc.paper.adventure.PaperAdventure
 import net.kyori.adventure.text.Component
-import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer
 import net.minecraft.nbt.CompoundTag
 import net.minecraft.nbt.ListTag
 import net.minecraft.nbt.StringTag
@@ -143,7 +142,11 @@ class EmojyNMSHandler : IEmojyNMSHandler {
 
     private class CustomDataSerializer(val player: Player?, bytebuf: ByteBuf) : FriendlyByteBuf(bytebuf) {
         override fun writeComponent(component: Component): FriendlyByteBuf {
-            return super.writeComponent(component.transform(null, true, true))
+            return super.writeComponent(component.transform(null, true, false))
+        }
+
+        override fun readComponent(): net.minecraft.network.chat.Component {
+            return PaperAdventure.asVanilla(PaperAdventure.asAdventure(super.readComponent()).transform(player, true, false))
         }
 
         override fun writeUtf(string: String, maxLength: Int): FriendlyByteBuf {
@@ -155,16 +158,22 @@ class EmojyNMSHandler : IEmojyNMSHandler {
             return super.writeUtf(string, maxLength)
         }
 
+        override fun readUtf(maxLength: Int): String {
+            return super.readUtf(maxLength).miniMsg().transform(player, true).serialize()
+        }
+
         override fun writeNbt(compound: Tag?): FriendlyByteBuf {
             return super.writeNbt(compound?.apply {
-                when (this) {
-                    is CompoundTag -> transform(this, EmojyNMSHandlers.transformer())
-                    is ListTag -> transform(this, EmojyNMSHandlers.transformer())
-                    is StringTag -> transform(this, EmojyNMSHandlers.transformer())
-                }
+                transform(this as CompoundTag, EmojyNMSHandlers.transformer())
             })
         }
 
+        override fun readNbt(): CompoundTag? {
+            return super.readNbt()?.apply {
+                transform(this, EmojyNMSHandlers.transformer())
+            }
+        }
+
         private fun transform(compound: CompoundTag, transformer: Function<String, String>) {
             for (key in compound.allKeys) when (val base = compound.get(key)) {
                 is CompoundTag -> transform(base, transformer)
@@ -188,10 +197,6 @@ class EmojyNMSHandler : IEmojyNMSHandler {
             transformer.apply(string.asString)
         }
 
-        override fun readUtf(maxLength: Int): String {
-            return super.readUtf(maxLength).miniMsg().transform(player, true, true).serialize()
-        }
-
     }
 
     private class CustomPacketEncoder(val player: Player? = null) : MessageToByteEncoder<Packet<*>>() {