From 89c503dd924c775d3a680a2a3eb634c6722d7650 Mon Sep 17 00:00:00 2001 From: KennyTV Date: Tue, 28 Jul 2020 09:59:35 +0200 Subject: [PATCH] Print erroneous json if parsing fails --- .../ViaVersion/api/rewriters/ComponentRewriter.java | 13 ++++++++++--- .../ViaVersion/api/type/types/ComponentType.java | 10 +++++++++- .../protocol1_13to1_12_2/Protocol1_13To1_12_2.java | 5 +++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/api/rewriters/ComponentRewriter.java b/common/src/main/java/us/myles/ViaVersion/api/rewriters/ComponentRewriter.java index 93353b032..3a8df2a5a 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/rewriters/ComponentRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/api/rewriters/ComponentRewriter.java @@ -3,6 +3,8 @@ package us.myles.ViaVersion.api.rewriters; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSyntaxException; +import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.protocol.ClientboundPacketType; import us.myles.ViaVersion.api.protocol.Protocol; import us.myles.ViaVersion.api.remapper.PacketRemapper; @@ -99,9 +101,14 @@ public class ComponentRewriter { } public JsonElement processText(String value) { - JsonElement root = GsonUtil.getJsonParser().parse(value); - processText(root); - return root; + try { + JsonElement root = GsonUtil.getJsonParser().parse(value); + processText(root); + return root; + } catch (JsonSyntaxException e) { + Via.getPlatform().getLogger().severe("Error when trying to parse json: " + value); + throw e; + } } public void processText(JsonElement element) { diff --git a/common/src/main/java/us/myles/ViaVersion/api/type/types/ComponentType.java b/common/src/main/java/us/myles/ViaVersion/api/type/types/ComponentType.java index bbc32c2da..8ecfe8c2f 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/type/types/ComponentType.java +++ b/common/src/main/java/us/myles/ViaVersion/api/type/types/ComponentType.java @@ -1,7 +1,9 @@ package us.myles.ViaVersion.api.type.types; import com.google.gson.JsonElement; +import com.google.gson.JsonSyntaxException; import io.netty.buffer.ByteBuf; +import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.util.GsonUtil; @@ -14,7 +16,13 @@ public class ComponentType extends Type { @Override public JsonElement read(ByteBuf buffer) throws Exception { - return GsonUtil.getJsonParser().parse(STRING_TAG.read(buffer)); + String s = STRING_TAG.read(buffer); + try { + return GsonUtil.getJsonParser().parse(s); + } catch (JsonSyntaxException e) { + Via.getPlatform().getLogger().severe("Error when trying to parse json: " + s); + throw e; + } } @Override diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java index 9ee0f9088..f7d20d545 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java @@ -613,8 +613,9 @@ public class Protocol1_13To1_12_2 extends Protocol