From 28a0813676554314ea1838396ac16e281d788701 Mon Sep 17 00:00:00 2001
From: RK_01 <50594595+RaphiMC@users.noreply.github.com>
Date: Wed, 27 Dec 2023 19:37:48 +0100
Subject: [PATCH] Cleanup of mcstructs branch (#3604)
---
api/build.gradle.kts | 3 +
.../model/chain/v1_19_1/MessageBody.java | 4 +-
.../signature/storage/ChatSession1_19_0.java | 4 +-
.../viaversion/viaversion/util/GsonUtil.java | 56 +------------------
.../viaversion/util/ComponentUtil.java | 5 +-
5 files changed, 12 insertions(+), 60 deletions(-)
diff --git a/api/build.gradle.kts b/api/build.gradle.kts
index 179de2a61..e686e3ee7 100644
--- a/api/build.gradle.kts
+++ b/api/build.gradle.kts
@@ -20,6 +20,9 @@ dependencies {
api(libs.flareFastutil)
api(libs.vianbt)
api(libs.gson)
+ implementation(rootProject.libs.text) {
+ exclude("com.google.code.gson", "gson")
+ }
compileOnlyApi(libs.snakeYaml)
compileOnlyApi(libs.netty)
diff --git a/api/src/main/java/com/viaversion/viaversion/api/minecraft/signature/model/chain/v1_19_1/MessageBody.java b/api/src/main/java/com/viaversion/viaversion/api/minecraft/signature/model/chain/v1_19_1/MessageBody.java
index 1a28ff4fe..bfc665375 100644
--- a/api/src/main/java/com/viaversion/viaversion/api/minecraft/signature/model/chain/v1_19_1/MessageBody.java
+++ b/api/src/main/java/com/viaversion/viaversion/api/minecraft/signature/model/chain/v1_19_1/MessageBody.java
@@ -25,7 +25,7 @@ package com.viaversion.viaversion.api.minecraft.signature.model.chain.v1_19_1;
import com.viaversion.viaversion.api.minecraft.PlayerMessageSignature;
import com.viaversion.viaversion.api.minecraft.signature.model.DecoratableMessage;
import com.viaversion.viaversion.api.minecraft.signature.util.DataConsumer;
-import com.viaversion.viaversion.util.GsonUtil;
+import net.lenni0451.mcstructs.text.utils.JsonUtils;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
@@ -62,7 +62,7 @@ public class MessageBody {
dataOutputStream.write(this.content.plain().getBytes(StandardCharsets.UTF_8));
dataOutputStream.write(HASH_SEPARATOR_BYTE);
if (this.content.isDecorated()) {
- dataOutputStream.write(GsonUtil.toSortedString(this.content.decorated(), null).getBytes(StandardCharsets.UTF_8));
+ dataOutputStream.write(JsonUtils.toSortedString(this.content.decorated(), null).getBytes(StandardCharsets.UTF_8));
}
for (PlayerMessageSignature lastSeenMessage : this.lastSeenMessages) {
diff --git a/api/src/main/java/com/viaversion/viaversion/api/minecraft/signature/storage/ChatSession1_19_0.java b/api/src/main/java/com/viaversion/viaversion/api/minecraft/signature/storage/ChatSession1_19_0.java
index ad04f4872..43f6d412f 100644
--- a/api/src/main/java/com/viaversion/viaversion/api/minecraft/signature/storage/ChatSession1_19_0.java
+++ b/api/src/main/java/com/viaversion/viaversion/api/minecraft/signature/storage/ChatSession1_19_0.java
@@ -25,7 +25,7 @@ package com.viaversion.viaversion.api.minecraft.signature.storage;
import com.viaversion.viaversion.api.minecraft.ProfileKey;
import com.viaversion.viaversion.api.minecraft.signature.model.DecoratableMessage;
import com.viaversion.viaversion.api.minecraft.signature.model.MessageMetadata;
-import com.viaversion.viaversion.util.GsonUtil;
+import net.lenni0451.mcstructs.text.utils.JsonUtils;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
@@ -48,7 +48,7 @@ public class ChatSession1_19_0 extends ChatSession {
buffer.putLong(metadata.sender().getMostSignificantBits()).putLong(metadata.sender().getLeastSignificantBits());
buffer.putLong(metadata.timestamp().getEpochSecond());
signer.accept(data);
- signer.accept(GsonUtil.toSortedString(content.decorated(), null).getBytes(StandardCharsets.UTF_8));
+ signer.accept(JsonUtils.toSortedString(content.decorated(), null).getBytes(StandardCharsets.UTF_8));
});
}
diff --git a/api/src/main/java/com/viaversion/viaversion/util/GsonUtil.java b/api/src/main/java/com/viaversion/viaversion/util/GsonUtil.java
index 79012f69e..0a20d98f3 100644
--- a/api/src/main/java/com/viaversion/viaversion/util/GsonUtil.java
+++ b/api/src/main/java/com/viaversion/viaversion/util/GsonUtil.java
@@ -22,12 +22,8 @@
*/
package com.viaversion.viaversion.util;
-import com.google.gson.*;
-import org.checkerframework.checker.nullness.qual.Nullable;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
public final class GsonUtil {
private static final Gson GSON = new GsonBuilder().create();
@@ -41,52 +37,4 @@ public final class GsonUtil {
return GSON;
}
- /**
- * Convert a json element to a sorted string.
- * If the {@code comparator} is null, {@link Comparator#naturalOrder()} will be used.
- *
- * @param element The element to convert
- * @param comparator The comparator to use
- * @return The sorted string
- */
- public static String toSortedString(@Nullable final JsonElement element, @Nullable final Comparator comparator) {
- if (element == null) {
- return null;
- } else if (comparator != null) {
- return sort(element, comparator).toString();
- } else {
- return sort(element, Comparator.naturalOrder()).toString();
- }
- }
-
- /**
- * Sort a json element.
- *
- * @param element The element to sort
- * @param comparator The comparator to use
- * @return The sorted element
- */
- public static JsonElement sort(@Nullable final JsonElement element, final Comparator comparator) {
- if (element == null) {
- return null;
- } else if (element.isJsonArray()) {
- final JsonArray array = element.getAsJsonArray();
- for (int i = 0; i < array.size(); i++) {
- array.set(i, sort(array.get(i), comparator));
- }
- return array;
- } else if (element.isJsonObject()) {
- final JsonObject object = element.getAsJsonObject();
- final JsonObject sorted = new JsonObject();
- final List keys = new ArrayList<>(object.keySet());
- keys.sort(comparator);
- for (String key : keys) {
- sorted.add(key, sort(object.get(key), comparator));
- }
- return sorted;
- } else {
- return element;
- }
- }
-
}
diff --git a/common/src/main/java/com/viaversion/viaversion/util/ComponentUtil.java b/common/src/main/java/com/viaversion/viaversion/util/ComponentUtil.java
index 9884a7680..a932dc70e 100644
--- a/common/src/main/java/com/viaversion/viaversion/util/ComponentUtil.java
+++ b/common/src/main/java/com/viaversion/viaversion/util/ComponentUtil.java
@@ -22,7 +22,6 @@ import com.github.steveice10.opennbt.tag.builtin.Tag;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.viaversion.viaversion.api.Via;
-import java.util.logging.Level;
import net.lenni0451.mcstructs.snbt.SNbtSerializer;
import net.lenni0451.mcstructs.text.ATextComponent;
import net.lenni0451.mcstructs.text.Style;
@@ -33,6 +32,8 @@ import net.lenni0451.mcstructs.text.serializer.TextComponentCodec;
import net.lenni0451.mcstructs.text.serializer.TextComponentSerializer;
import org.checkerframework.checker.nullness.qual.Nullable;
+import java.util.logging.Level;
+
/**
* Component conversion utility, trying to divert most calls to the component library to this class instead for easy replacement.
*/
@@ -105,7 +106,7 @@ public final class ComponentUtil {
}
public static String jsonToLegacy(final String value) {
- return TextComponentSerializer.V1_12.deserialize(value).asLegacyFormatString();
+ return TextComponentSerializer.V1_12.deserializeReader(value).asLegacyFormatString();
}
public static String jsonToLegacy(final JsonElement value) {