private ServerResponseType GetResponseType() { if (Packets.All(p => p.ResponseType == ServerResponseType.Value)) { return(ServerResponseType.Value); } // A successful authentication response is a Value packet, followed by an Auth packet if (Packets.Count == 2) { if (Packets[0].ResponseType == ServerResponseType.Value && Packets[1].ResponseType == ServerResponseType.Auth) { return(ServerResponseType.Auth); } } throw new HolyShitException("I'm not sure what these reponse types are..."); }