diff options
author | Tiger Wang <ziwei.tiger@outlook.com> | 2020-10-05 14:09:42 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@outlook.com> | 2020-12-18 22:03:40 +0100 |
commit | 090d8305e4e3c3ee085a897b72f2b4708e183eb8 (patch) | |
tree | e703cc7fcb7f16c85f16b094d5df0bd0a8d698e8 /src/Protocol/ProtocolRecognizer.cpp | |
parent | Horsies: don't always broadcast metadata (diff) | |
download | cuberite-090d8305e4e3c3ee085a897b72f2b4708e183eb8.tar cuberite-090d8305e4e3c3ee085a897b72f2b4708e183eb8.tar.gz cuberite-090d8305e4e3c3ee085a897b72f2b4708e183eb8.tar.bz2 cuberite-090d8305e4e3c3ee085a897b72f2b4708e183eb8.tar.lz cuberite-090d8305e4e3c3ee085a897b72f2b4708e183eb8.tar.xz cuberite-090d8305e4e3c3ee085a897b72f2b4708e183eb8.tar.zst cuberite-090d8305e4e3c3ee085a897b72f2b4708e183eb8.zip |
Diffstat (limited to 'src/Protocol/ProtocolRecognizer.cpp')
-rw-r--r-- | src/Protocol/ProtocolRecognizer.cpp | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/src/Protocol/ProtocolRecognizer.cpp b/src/Protocol/ProtocolRecognizer.cpp index 94208cbf3..5d146c46a 100644 --- a/src/Protocol/ProtocolRecognizer.cpp +++ b/src/Protocol/ProtocolRecognizer.cpp @@ -253,9 +253,7 @@ std::unique_ptr<cProtocol> cMultiVersionProtocol::TryRecognizeLengthedProtocol(c a_Client.GetIPString().c_str(), PacketType ); - throw TriedToJoinWithUnsupportedProtocolException( - Printf("Your client isn't supported.\nTry connecting with Minecraft " MCS_CLIENT_VERSIONS, ProtocolVersion) - ); + throw TriedToJoinWithUnsupportedProtocolException("Your client isn't supported.\nTry connecting with Minecraft " MCS_CLIENT_VERSIONS); } if ( @@ -270,21 +268,16 @@ std::unique_ptr<cProtocol> cMultiVersionProtocol::TryRecognizeLengthedProtocol(c throw TriedToJoinWithUnsupportedProtocolException("Incorrect amount of data received - hacked client?"); } - cProtocol::State NextState = [&] + const auto NextState = [NextStateValue] + { + switch (NextStateValue) { - switch (NextStateValue) - { - case cProtocol::State::Status: return cProtocol::State::Status; - case cProtocol::State::Login: return cProtocol::State::Login; - case cProtocol::State::Game: return cProtocol::State::Game; - default: - { - throw TriedToJoinWithUnsupportedProtocolException( - fmt::format("Invalid next game state: {}", NextStateValue) - ); - } - } - }(); + case 1: return cProtocol::State::Status; + case 2: return cProtocol::State::Login; + case 3: return cProtocol::State::Game; + default: throw TriedToJoinWithUnsupportedProtocolException("Your client isn't supported.\nTry connecting with Minecraft " MCS_CLIENT_VERSIONS); + } + }(); // TODO: this should be a protocol property, not ClientHandle: a_Client.SetProtocolVersion(ProtocolVersion); |