From 62fbc0e8f254d089207676eac9c7ce4b5aba4287 Mon Sep 17 00:00:00 2001 From: Nanit Date: Thu, 28 Oct 2021 21:55:59 +0300 Subject: [PATCH] Changed packet signature to support different versions --- .../limbo/connection/ClientConnection.java | 3 ++- .../connection/pipeline/PacketDecoder.java | 2 +- .../connection/pipeline/PacketEncoder.java | 2 +- .../java/ru/nanit/limbo/protocol/Packet.java | 6 +++-- .../ru/nanit/limbo/protocol/PacketIn.java | 4 +++- .../ru/nanit/limbo/protocol/PacketOut.java | 4 +++- .../limbo/protocol/PreEncodedPacket.java | 6 +++-- .../protocol/packets/PacketHandshake.java | 24 ++----------------- .../packets/login/PacketDisconnect.java | 3 ++- .../login/PacketLoginPluginRequest.java | 3 ++- .../login/PacketLoginPluginResponse.java | 3 ++- .../packets/login/PacketLoginStart.java | 3 ++- .../packets/login/PacketLoginSuccess.java | 3 ++- .../protocol/packets/play/PacketBossBar.java | 3 ++- .../packets/play/PacketChatMessage.java | 3 ++- .../packets/play/PacketDeclareCommands.java | 3 ++- .../protocol/packets/play/PacketJoinGame.java | 3 ++- .../packets/play/PacketKeepAlive.java | 5 ++-- .../packets/play/PacketPlayerAbilities.java | 3 ++- .../packets/play/PacketPlayerInfo.java | 3 ++- .../play/PacketPlayerPositionAndLook.java | 3 ++- .../packets/status/PacketStatusPing.java | 5 ++-- .../packets/status/PacketStatusRequest.java | 3 ++- .../packets/status/PacketStatusResponse.java | 4 ++-- .../limbo/protocol/registry/Version.java | 9 ++++--- 25 files changed, 60 insertions(+), 53 deletions(-) diff --git a/src/main/java/ru/nanit/limbo/connection/ClientConnection.java b/src/main/java/ru/nanit/limbo/connection/ClientConnection.java index 321a6c4..99c7347 100644 --- a/src/main/java/ru/nanit/limbo/connection/ClientConnection.java +++ b/src/main/java/ru/nanit/limbo/connection/ClientConnection.java @@ -97,6 +97,7 @@ public class ClientConnection extends ChannelInboundHandlerAdapter { PacketHandshake handshake = (PacketHandshake) packet; clientVersion = handshake.getVersion(); updateState(State.getById(handshake.getNextState())); + Logger.debug("Pinged from " + address); if (server.getConfig().getInfoForwarding().isLegacy()) { @@ -128,7 +129,7 @@ public class ClientConnection extends ChannelInboundHandlerAdapter { return; } - if (!clientVersion.equals(Version.getCurrentSupported())) { + if (clientVersion.equals(Version.UNDEFINED)) { disconnectLogin("Incompatible client version"); return; } diff --git a/src/main/java/ru/nanit/limbo/connection/pipeline/PacketDecoder.java b/src/main/java/ru/nanit/limbo/connection/pipeline/PacketDecoder.java index 75b0246..d2fad81 100644 --- a/src/main/java/ru/nanit/limbo/connection/pipeline/PacketDecoder.java +++ b/src/main/java/ru/nanit/limbo/connection/pipeline/PacketDecoder.java @@ -27,7 +27,7 @@ public class PacketDecoder extends MessageToMessageDecoder { if (packet != null) { try { - packet.decode(msg); + packet.decode(msg, ); } catch (Exception e) { Logger.warning("Cannot decode packet 0x%s: %s", Integer.toHexString(packetId), e.getMessage()); } 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 e559144..c01b887 100644 --- a/src/main/java/ru/nanit/limbo/connection/pipeline/PacketEncoder.java +++ b/src/main/java/ru/nanit/limbo/connection/pipeline/PacketEncoder.java @@ -38,7 +38,7 @@ public class PacketEncoder extends MessageToByteEncoder { msg.writeVarInt(packetId); try { - packet.encode(msg); + packet.encode(msg, ); } 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/Packet.java b/src/main/java/ru/nanit/limbo/protocol/Packet.java index a497cc3..6ec59a7 100644 --- a/src/main/java/ru/nanit/limbo/protocol/Packet.java +++ b/src/main/java/ru/nanit/limbo/protocol/Packet.java @@ -1,9 +1,11 @@ package ru.nanit.limbo.protocol; +import ru.nanit.limbo.protocol.registry.Version; + public interface Packet { - void encode(ByteMessage msg); + void encode(ByteMessage msg, Version version); - void decode(ByteMessage msg); + void decode(ByteMessage msg, Version version); } diff --git a/src/main/java/ru/nanit/limbo/protocol/PacketIn.java b/src/main/java/ru/nanit/limbo/protocol/PacketIn.java index 55ae097..639d0c2 100644 --- a/src/main/java/ru/nanit/limbo/protocol/PacketIn.java +++ b/src/main/java/ru/nanit/limbo/protocol/PacketIn.java @@ -1,9 +1,11 @@ package ru.nanit.limbo.protocol; +import ru.nanit.limbo.protocol.registry.Version; + public interface PacketIn extends Packet { @Override - default void encode(ByteMessage msg) { + default void encode(ByteMessage msg, Version version) { // Can be ignored for incoming packets } diff --git a/src/main/java/ru/nanit/limbo/protocol/PacketOut.java b/src/main/java/ru/nanit/limbo/protocol/PacketOut.java index cd69ebd..78a4a4d 100644 --- a/src/main/java/ru/nanit/limbo/protocol/PacketOut.java +++ b/src/main/java/ru/nanit/limbo/protocol/PacketOut.java @@ -1,9 +1,11 @@ package ru.nanit.limbo.protocol; +import ru.nanit.limbo.protocol.registry.Version; + public interface PacketOut extends Packet { @Override - default void decode(ByteMessage msg) { + default void decode(ByteMessage msg, Version version) { // Can be ignored for outgoing packets } diff --git a/src/main/java/ru/nanit/limbo/protocol/PreEncodedPacket.java b/src/main/java/ru/nanit/limbo/protocol/PreEncodedPacket.java index 1b19487..399133a 100644 --- a/src/main/java/ru/nanit/limbo/protocol/PreEncodedPacket.java +++ b/src/main/java/ru/nanit/limbo/protocol/PreEncodedPacket.java @@ -1,5 +1,7 @@ package ru.nanit.limbo.protocol; +import ru.nanit.limbo.protocol.registry.Version; + public class PreEncodedPacket implements PacketOut { private final PacketOut packet; @@ -15,14 +17,14 @@ public class PreEncodedPacket implements PacketOut { public PreEncodedPacket encodePacket() { ByteMessage encodedMessage = ByteMessage.create(); - packet.encode(encodedMessage); + packet.encode(encodedMessage, ); this.message = encodedMessage.toByteArray(); encodedMessage.release(); return this; } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeBytes(message); } diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/PacketHandshake.java b/src/main/java/ru/nanit/limbo/protocol/packets/PacketHandshake.java index dfa43c7..588fb99 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/PacketHandshake.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/PacketHandshake.java @@ -15,36 +15,16 @@ public class PacketHandshake implements Packet { return version; } - public void setVersion(Version version) { - this.version = version; - } - public String getHost() { return host; } - public void setHost(String host) { - this.host = host; - } - - public int getPort() { - return port; - } - - public void setPort(int port) { - this.port = port; - } - public int getNextState() { return nextState; } - public void setNextState(int nextState) { - this.nextState = nextState; - } - @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeVarInt(this.version.getProtocolNumber()); msg.writeString(host); msg.writeShort(port); @@ -52,7 +32,7 @@ public class PacketHandshake implements Packet { } @Override - public void decode(ByteMessage msg) { + public void decode(ByteMessage msg, Version version) { this.version = Version.of(msg.readVarInt()); this.host = msg.readString(); this.port = msg.readUnsignedShort(); diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketDisconnect.java b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketDisconnect.java index 16bebfe..f9fbbc4 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketDisconnect.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketDisconnect.java @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.login; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; public class PacketDisconnect implements PacketOut { @@ -12,7 +13,7 @@ public class PacketDisconnect implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeString(String.format("{\"text\": \"%s\"}", reason)); } diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginPluginRequest.java b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginPluginRequest.java index 0ee58b1..b360bd9 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginPluginRequest.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginPluginRequest.java @@ -3,6 +3,7 @@ package ru.nanit.limbo.protocol.packets.login; import io.netty.buffer.ByteBuf; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; public class PacketLoginPluginRequest implements PacketOut { @@ -23,7 +24,7 @@ public class PacketLoginPluginRequest implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeVarInt(messageId); msg.writeString(channel); msg.writeBytes(data); diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginPluginResponse.java b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginPluginResponse.java index 19febec..ace6c6a 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginPluginResponse.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginPluginResponse.java @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.login; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketIn; +import ru.nanit.limbo.protocol.registry.Version; public class PacketLoginPluginResponse implements PacketIn { @@ -22,7 +23,7 @@ public class PacketLoginPluginResponse implements PacketIn { } @Override - public void decode(ByteMessage msg) { + public void decode(ByteMessage msg, Version version) { messageId = msg.readVarInt(); successful = msg.readBoolean(); diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginStart.java b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginStart.java index 5da63a5..a7eaa26 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginStart.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/login/PacketLoginStart.java @@ -1,6 +1,7 @@ package ru.nanit.limbo.protocol.packets.login; import ru.nanit.limbo.protocol.*; +import ru.nanit.limbo.protocol.registry.Version; public class PacketLoginStart implements PacketIn { @@ -11,7 +12,7 @@ public class PacketLoginStart implements PacketIn { } @Override - public void decode(ByteMessage msg) { + public void decode(ByteMessage msg, Version version) { this.username = msg.readString(); } 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 c9a0975..d2984d3 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 @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.login; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; import java.util.UUID; @@ -19,7 +20,7 @@ public class PacketLoginSuccess implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeUuid(uuid); msg.writeString(username); } diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketBossBar.java b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketBossBar.java index 14577d7..ce2826c 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketBossBar.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketBossBar.java @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.play; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; import ru.nanit.limbo.server.data.BossBar; import java.util.UUID; @@ -25,7 +26,7 @@ public class PacketBossBar implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeUuid(uuid); msg.writeVarInt(0); // Create bossbar msg.writeString(bossBar.getText()); diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketChatMessage.java b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketChatMessage.java index 6191f3b..56b834d 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketChatMessage.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketChatMessage.java @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.play; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; import java.util.UUID; @@ -24,7 +25,7 @@ public class PacketChatMessage implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeString(jsonData); msg.writeByte(position.index); msg.writeUuid(sender); diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketDeclareCommands.java b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketDeclareCommands.java index cf7130b..c86faaa 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketDeclareCommands.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketDeclareCommands.java @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.play; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; import java.util.List; @@ -14,7 +15,7 @@ public class PacketDeclareCommands implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeVarInt(commands.size() * 2 + 1); // +1 because declaring root node // Declare root node 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 53454c0..2b0e605 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 @@ -3,6 +3,7 @@ package ru.nanit.limbo.protocol.packets.play; import net.kyori.adventure.nbt.CompoundBinaryTag; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; public class PacketJoinGame implements PacketOut { @@ -83,7 +84,7 @@ public class PacketJoinGame implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeInt(entityId); msg.writeBoolean(isHardcore); msg.writeByte(gameMode); 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 412e2ee..0df50e4 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 @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.play; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.Packet; +import ru.nanit.limbo.protocol.registry.Version; public class PacketKeepAlive implements Packet { @@ -16,12 +17,12 @@ public class PacketKeepAlive implements Packet { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeLong(id); } @Override - public void decode(ByteMessage msg) { + public void decode(ByteMessage msg, Version version) { this.id = msg.readLong(); } diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerAbilities.java b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerAbilities.java index bce145a..5d7fe1d 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerAbilities.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerAbilities.java @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.play; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; public class PacketPlayerAbilities implements PacketOut { @@ -22,7 +23,7 @@ public class PacketPlayerAbilities implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeByte(flags); msg.writeFloat(flyingSpeed); msg.writeFloat(fieldOfView); diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerInfo.java b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerInfo.java index 44846f7..5b30cc4 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerInfo.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerInfo.java @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.play; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; import java.util.UUID; @@ -27,7 +28,7 @@ public class PacketPlayerInfo implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeVarInt(0); msg.writeVarInt(1); msg.writeUuid(uuid); diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerPositionAndLook.java b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerPositionAndLook.java index fcef609..b0b5f40 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerPositionAndLook.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/play/PacketPlayerPositionAndLook.java @@ -2,6 +2,7 @@ package ru.nanit.limbo.protocol.packets.play; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.PacketOut; +import ru.nanit.limbo.protocol.registry.Version; public class PacketPlayerPositionAndLook implements PacketOut { @@ -42,7 +43,7 @@ public class PacketPlayerPositionAndLook implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeDouble(x); msg.writeDouble(y); msg.writeDouble(z); diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusPing.java b/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusPing.java index 9516dd1..43e0c78 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusPing.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusPing.java @@ -2,18 +2,19 @@ package ru.nanit.limbo.protocol.packets.status; import ru.nanit.limbo.protocol.ByteMessage; import ru.nanit.limbo.protocol.Packet; +import ru.nanit.limbo.protocol.registry.Version; public class PacketStatusPing implements Packet { private long randomId; @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { msg.writeLong(randomId); } @Override - public void decode(ByteMessage msg) { + public void decode(ByteMessage msg, Version version) { this.randomId = msg.readLong(); } diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusRequest.java b/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusRequest.java index 89b7159..6613c63 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusRequest.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusRequest.java @@ -1,11 +1,12 @@ package ru.nanit.limbo.protocol.packets.status; import ru.nanit.limbo.protocol.*; +import ru.nanit.limbo.protocol.registry.Version; public class PacketStatusRequest implements PacketIn { @Override - public void decode(ByteMessage msg) { + public void decode(ByteMessage msg, Version version) { } diff --git a/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusResponse.java b/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusResponse.java index 1dcbb94..c1e4d5d 100644 --- a/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusResponse.java +++ b/src/main/java/ru/nanit/limbo/protocol/packets/status/PacketStatusResponse.java @@ -17,10 +17,10 @@ public class PacketStatusResponse implements PacketOut { } @Override - public void encode(ByteMessage msg) { + public void encode(ByteMessage msg, Version version) { String ver = server.getConfig().getPingData().getVersion(); String desc = server.getConfig().getPingData().getDescription(); - String json = getResponseJson(ver, Version.getCurrentSupported().getProtocolNumber(), + String json = getResponseJson(ver, Version.getMinimal().getProtocolNumber(), server.getConfig().getMaxPlayers(), server.getConnections().getCount(), desc); msg.writeString(json); diff --git a/src/main/java/ru/nanit/limbo/protocol/registry/Version.java b/src/main/java/ru/nanit/limbo/protocol/registry/Version.java index 896c330..b39bcda 100644 --- a/src/main/java/ru/nanit/limbo/protocol/registry/Version.java +++ b/src/main/java/ru/nanit/limbo/protocol/registry/Version.java @@ -31,7 +31,10 @@ public enum Version { V1_16_1(736), V1_16_2(751), V1_16_3(753), - V1_16_4(754); + V1_16_4(754), + // 1.16.5 has same protocol number + V1_17(755), + V1_17_1(756); public static final Map VERSION_MAP; @@ -43,8 +46,8 @@ public enum Version { } } - public static Version getCurrentSupported() { - return V1_16_4; + public static Version getMinimal() { + return V1_9; } public static Version of(int protocolNumber) {