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 e523bf231..370d83d7f 100644 --- a/common/src/main/java/com/viaversion/viaversion/util/ComponentUtil.java +++ b/common/src/main/java/com/viaversion/viaversion/util/ComponentUtil.java @@ -93,11 +93,11 @@ public final class ComponentUtil { } public static @Nullable JsonElement convertJson(@Nullable final JsonElement element, final SerializerVersion from, final SerializerVersion to) { - return element != null ? convert(from, to, from.jsonSerializer.deserialize(element)) : null; + return element != null ? convert(from, to, from.toComponent(element)) : null; } public static @Nullable JsonElement convertJson(@Nullable final String json, final SerializerVersion from, final SerializerVersion to) { - return json != null ? convert(from, to, from.jsonSerializer.deserializeReader(json)) : null; + return json != null ? convert(from, to, from.toComponent(json)) : null; } private static JsonElement convert(final SerializerVersion from, final SerializerVersion to, final ATextComponent component) { diff --git a/common/src/main/java/com/viaversion/viaversion/util/SerializerVersion.java b/common/src/main/java/com/viaversion/viaversion/util/SerializerVersion.java index ae76835a5..aa4e4cb98 100644 --- a/common/src/main/java/com/viaversion/viaversion/util/SerializerVersion.java +++ b/common/src/main/java/com/viaversion/viaversion/util/SerializerVersion.java @@ -77,7 +77,13 @@ public enum SerializerVersion { } public ATextComponent toComponent(final String json) { - return jsonSerializer.deserializeReader(json); + if (ordinal() >= SerializerVersion.V1_20_3.ordinal()) { + return jsonSerializer.deserializeParser(json); + } else if (ordinal() >= SerializerVersion.V1_9.ordinal()) { + return jsonSerializer.deserializeReader(json); + } else { + return jsonSerializer.deserialize(json); + } } public ATextComponent toComponent(final Tag tag) {