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; } }
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()); }