From 882720c822bbf8650564e00160eb32b58411cd64 Mon Sep 17 00:00:00 2001 From: themode Date: Thu, 25 Feb 2021 19:01:29 +0100 Subject: [PATCH] Added RawJsonMessage constructor taking a json object as a string to reduce boilerplate code --- src/main/java/net/minestom/server/chat/JsonMessage.java | 5 +++++ .../java/net/minestom/server/utils/binary/BinaryReader.java | 5 +---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minestom/server/chat/JsonMessage.java b/src/main/java/net/minestom/server/chat/JsonMessage.java index 33e27d3f7..3842b738a 100644 --- a/src/main/java/net/minestom/server/chat/JsonMessage.java +++ b/src/main/java/net/minestom/server/chat/JsonMessage.java @@ -2,6 +2,7 @@ package net.minestom.server.chat; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import org.jetbrains.annotations.NotNull; import java.util.Objects; @@ -109,6 +110,10 @@ public abstract class JsonMessage { this.jsonObject = jsonObject; } + public RawJsonMessage(@NotNull String jsonObject) { + this.jsonObject = JsonParser.parseString(jsonObject).getAsJsonObject(); + } + @NotNull @Override public JsonObject getJsonObject() { diff --git a/src/main/java/net/minestom/server/utils/binary/BinaryReader.java b/src/main/java/net/minestom/server/utils/binary/BinaryReader.java index 147a58153..b8cb1b97e 100644 --- a/src/main/java/net/minestom/server/utils/binary/BinaryReader.java +++ b/src/main/java/net/minestom/server/utils/binary/BinaryReader.java @@ -1,7 +1,5 @@ package net.minestom.server.utils.binary; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import net.minestom.server.chat.JsonMessage; @@ -152,8 +150,7 @@ public class BinaryReader extends InputStream { } public JsonMessage readJsonMessage(int maxLength) { - final String string = readSizedString(maxLength); - final JsonObject jsonObject = JsonParser.parseString(string).getAsJsonObject(); + final String jsonObject = readSizedString(maxLength); return new JsonMessage.RawJsonMessage(jsonObject); }