Example #1
0
        public static MinecraftVersion Current = new MinecraftVersion("1.13.2", 404); // Going back to 404 for now

        public static void Receive(Player client, GameStream stream)
        {
            byte vi = (byte)stream.ReadVarInt().Value;

            switch (client.State)
            {
            case SessionState.Handshaking:
                if ((Packet)vi == Packet.Handshake)
                {
                    HandshakePackets.ReceiveHandshake(client, stream);
                }
                break;

            case SessionState.Status:
                if ((Packet)vi == Packet.Ping)
                {
                    StatusPackets.ReceivePing(client, stream);
                }
                break;

            case SessionState.Login:
                if ((Packet)vi == Packet.LoginStart)
                {
                    LoginPackets.ReceiveLoginStart(client, stream);
                }
                if ((Packet)vi == Packet.EncryptionResponse)
                {
                    LoginPackets.ReceiveEncryptionResponse(client, stream);
                }
                break;

            case SessionState.Play:
                if ((Packet)vi == Packet.PluginMessageServerBound)
                {
                    PlayPackets.ReceivePluginMessage(client, stream);
                }
                if ((Packet)vi == Packet.ClientSettings)
                {
                    PlayPackets.ReceiveClientSettings(client, stream);
                }
                break;
            }
        }
Example #2
0
        public override void HandlePacket(PacketReader packet, LoginClient client)
        {
            var accountName     = packet.ReadString();
            var accountPassword = packet.ReadString();

            packet.ReadInt(); // Start up
            var machineBytes = packet.ReadBytes(16);
            var result       = Login(client, accountName, accountPassword, machineBytes);

            client.Send(LoginPackets.LoginResult(result, client.Account));


            if (result != LoginResult.Valid)
            {
                return;
            }

            client.SetOnline(true);
            client.Send(LoginPackets.ListWorlds(client.Server.Manager.Worlds));
            client.Send(LoginPackets.EndListWorlds());
        }