diff --git a/src/main/java/ru/nanit/limbo/connection/pipeline/PacketEncoder.java b/src/main/java/ru/nanit/limbo/connection/pipeline/PacketEncoder.java index 119222d..95b4b43 100644 --- a/src/main/java/ru/nanit/limbo/connection/pipeline/PacketEncoder.java +++ b/src/main/java/ru/nanit/limbo/connection/pipeline/PacketEncoder.java @@ -42,7 +42,10 @@ public class PacketEncoder extends MessageToByteEncoder { try { packet.encode(msg, version); - Logger.debug("Sending %s packet", packet.toString()); + + if (Logger.getLevel() >= 3) { + Logger.debug("Sending %s packet (%d bytes)", packet.toString(), msg.readableBytes()); + } } catch (Exception e) { Logger.warning("Cannot encode packet 0x%s: %s", Integer.toHexString(packetId), e.getMessage()); } diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginSuccess.java b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginSuccess.java index 3281e40..9acd9a4 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginSuccess.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginSuccess.java @@ -21,7 +21,11 @@ public class PacketLoginSuccess implements PacketOut { @Override public void encode(ByteMessage msg, Version version) { - msg.writeUuid(uuid); + if (version.moreOrEqual(Version.V1_16)) { + msg.writeUuid(uuid); + } else { + msg.writeString(uuid.toString()); + } msg.writeString(username); } diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketJoinGame.java b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketJoinGame.java index 0aa8ffa..65c15c5 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketJoinGame.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketJoinGame.java @@ -90,7 +90,7 @@ public class PacketJoinGame implements PacketOut { if (version.fromTo(Version.V1_8, Version.V1_13_2)) { msg.writeByte(gameMode); - msg.writeByte(dimension.getId()); + msg.writeInt(dimension.getId()); msg.writeByte(0); // Difficulty msg.writeByte(maxPlayers); msg.writeString("flat"); // Level type @@ -99,7 +99,7 @@ public class PacketJoinGame implements PacketOut { if (version.fromTo(Version.V1_14, Version.V1_14_4)) { msg.writeByte(gameMode); - msg.writeByte(dimension.getId()); + msg.writeInt(dimension.getId()); msg.writeByte(maxPlayers); msg.writeString("flat"); // Level type msg.writeVarInt(viewDistance); @@ -108,7 +108,7 @@ public class PacketJoinGame implements PacketOut { if (version.fromTo(Version.V1_15, Version.V1_15_2)) { msg.writeByte(gameMode); - msg.writeByte(dimension.getId()); + msg.writeInt(dimension.getId()); msg.writeLong(hashedSeed); msg.writeByte(maxPlayers); msg.writeString("flat"); // Level type diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketKeepAlive.java b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketKeepAlive.java index 5efa640..5c5b79a 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketKeepAlive.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketKeepAlive.java @@ -34,4 +34,8 @@ public class PacketKeepAlive implements Packet { } } + @Override + public String toString() { + return getClass().getSimpleName(); + } } diff --git a/src/main/java/ru/nanit/limbo/util/Logger.java b/src/main/java/ru/nanit/limbo/util/Logger.java index 15312b9..c327851 100644 --- a/src/main/java/ru/nanit/limbo/util/Logger.java +++ b/src/main/java/ru/nanit/limbo/util/Logger.java @@ -14,6 +14,10 @@ public final class Logger { debugLevel = level; } + public static int getLevel() { + return debugLevel; + } + public static void info(Object msg, Object... args) { print(Level.INFO, msg, null, args); }