diff --git a/pom.xml b/pom.xml index 31b033a..f9a195c 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,12 @@ guava 24.1-jre + + commons-io + commons-io + 2.6 + + diff --git a/src/main/java/mc/core/netty/packets/HandshakeResponsePacket.java b/src/main/java/mc/core/netty/packets/HandshakeResponsePacket.java index da99bdf..387dfd2 100644 --- a/src/main/java/mc/core/netty/packets/HandshakeResponsePacket.java +++ b/src/main/java/mc/core/netty/packets/HandshakeResponsePacket.java @@ -5,12 +5,19 @@ package mc.core.netty.packets; import com.google.gson.JsonObject; +import lombok.extern.slf4j.Slf4j; import mc.core.NetStream; import mc.core.NotSupportException; import mc.core.Packet; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; + +import java.io.IOException; +import java.util.Base64; import static mc.core.netty.Utils.*; +@Slf4j public class HandshakeResponsePacket implements Packet { private static final int id = 0; private static String json; @@ -33,6 +40,16 @@ public class HandshakeResponsePacket implements Packet { rootObj.add("players", playersObj); rootObj.add("description", descriptionObj); + try { + rootObj.addProperty("favicon", + "data:image/png;base64," + + new String(Base64.getEncoder().encode( + IOUtils.resourceToByteArray("/icon.png"))) + ); + } catch (IOException e) { + log.warn("error read icon server", e); + } + json = rootObj.toString(); size = lengthVarInt(id) diff --git a/src/main/resources/icon.png b/src/main/resources/icon.png new file mode 100644 index 0000000..d512fc5 Binary files /dev/null and b/src/main/resources/icon.png differ