private SimpleModPackEntries GetEntry(Mod mod, Modding modding)
        {
            if (mod.fullPath.Equals(string.Empty))
            {
                return(null);
            }

            SimpleModPackEntries entry = new SimpleModPackEntries();

            entry.Name     = mod.name;
            entry.Category = mod.category;

            XivRace race = GetRace(mod.fullPath);

            entry.Race = race.GetDisplayName();

            entry.Type     = GetType(mod.fullPath);
            entry.Part     = GetPart(mod.fullPath);
            entry.Num      = GetNumber(mod.fullPath);
            entry.Map      = GetMap(mod.fullPath);
            entry.Active   = mod.enabled || mod.data.modOffset == mod.data.originalOffset;
            entry.ModEntry = mod;

            return(entry);
        }
        /// <summary>
        /// Creates the simple mod pack data list
        /// </summary>
        /// <returns>Task</returns>
        private async Task MakeSimpleDataList()
        {
            DirectoryInfo modListDirectory = new DirectoryInfo(Path.Combine(_gameDirectory.Parent.Parent.FullName, XivStrings.ModlistFilePath));
            Modding       modding          = new Modding(_gameDirectory);

            ModList modList = JsonConvert.DeserializeObject <ModList>(File.ReadAllText(modListDirectory.FullName));

            List <SimpleModPackEntries> entries = new List <SimpleModPackEntries>();

            foreach (Mod mod in modList.Mods)
            {
                SimpleModPackEntries entry = GetEntry(mod, modding);
                if (entry == null)
                {
                    continue;
                }

                entries.Add(entry);
            }

            await System.Windows.Application.Current.Dispatcher.InvokeAsync(() =>
            {
                foreach (SimpleModPackEntries entry in entries)
                {
                    this.Entries.Add(entry);
                }
            });
        }