public override DataSourceResult GetMods([DataSourceRequest] DataSourceRequest request)
        {
            var installed  = this.GetInstalledPlugins(TCAdmin.GameHosting.SDK.Objects.Service.GetSelectedService());
            var filters    = request.GetAllFilterDescriptors();
            var query      = string.Empty;
            var termFilter = filters.FirstOrDefault(x => x.Member == "Term");
            var sortBy     = (filters.FirstOrDefault(x => x.Member == "SortBy") ?? new Kendo.Mvc.FilterDescriptor("SortBy", Kendo.Mvc.FilterOperator.Contains, installed.Count > 0 ? "installed" : "modpack/featured")).Value.ToString();
            List <MinecraftModpacksBrowser> mods = null;

            if (sortBy == "installed")
            {
                mods = new List <MinecraftModpacksBrowser>();
                foreach (var modpack in installed)
                {
                    var pack = MinecraftModpacksBrowser.GetPack(int.Parse(modpack.Split(':')[0].Replace("MCMP", string.Empty)));
                    if (pack.Status == "success")
                    {
                        mods.Add(pack);
                    }
                    else
                    {
                        pack = MinecraftModpacksBrowser.GetCurseforgePack(int.Parse(modpack.Split(':')[0].Replace("MCMP", string.Empty)));
                        if (pack.Status == "success")
                        {
                            mods.Add(pack);
                        }
                    }
                }
            }
            else
            {
                if (termFilter != null && !string.IsNullOrEmpty(termFilter.Value.ToString()))
                {
                    sortBy = "modpack/search";
                    query  = termFilter.Value.ToString();
                }

                mods = MinecraftModpacksBrowser.Search(sortBy, query, request.Page, request.PageSize);
            }

            request.Filters = new List <IFilterDescriptor>();
            var dataSourceResult = mods.ToDataSourceResult(request);

            dataSourceResult.Total = 5000;
            dataSourceResult.Data  = mods;
            return(dataSourceResult);
        }