private async void DownloadMinecraftResourcesButton_Click(object sender, RoutedEventArgs e) { LockView(); await MinecraftService.DownloadAllAsync(); UnlockView(); }
public InputHandler( IDiscord discord, ILogger logger, INixProvider nixProvider, LavalinkService lavalink, MinecraftService minecraft) { this.discord = discord; this.logger = logger; this.nixProvider = nixProvider; services = new ServiceCollection() .AddSingleton(discord) .AddSingleton(discord.Client) .AddSingleton(commands) .AddSingleton(logger) .AddSingleton(lavalink) .AddSingleton(minecraft) .AddSingleton <InteractiveService>() .AddSingleton <AudioService>() .AddSingleton <SpotifyService>() .AddSingleton <EmbedService>() .AddLavaNode(lava => lava.SelfDeaf = true) .BuildServiceProvider(); }
private async void DownloadMinecraftVersionsButton_Click(object sender, RoutedEventArgs e) { LockView(); await MinecraftService.InitializeAsync(); UnlockView(); }
void OnShutdown() { Console.WriteLine("Application is shutting down"); if (MinecraftService.IsRunning()) { MinecraftService.Stop(); } }
public static async Task <string> DetectVersion(StorageFile resourcePackFile, bool onlyReleases = true) { if (resourcePackFile == null) { throw new ArgumentNullException(nameof(resourcePackFile)); } Logger.WriteLine($"Detecting resource pack version of file {resourcePackFile.Name}."); var relations = await ResourceRelationService.GetOrCreateAsync(); if (relations?.Count == 0) { throw new InvalidOperationException("Retrieved relation set is empty."); } if (!MinecraftService.IsInitialized) { await MinecraftService.InitializeAsync(); } var versionCount = onlyReleases ? MinecraftAPI.Releases.ToDictionary(x => x.Id, x => 0) : MinecraftAPI.Versions.ToDictionary(x => x.Id, x => 0); using (var stream = await resourcePackFile.OpenStreamForReadAsync()) using (var archive = new ZipArchive(stream, ZipArchiveMode.Read)) { foreach (var entry in archive.Entries.ToList()) { var entryPath = entry.FullName.Replace("/", "\\"); foreach (var relation in relations) { foreach (var versionPathPair in relation) { if (versionPathPair.Value.Equals(entryPath) && versionCount.ContainsKey(versionPathPair.Key)) { versionCount[versionPathPair.Key]++; } } } } } var maxCount = versionCount.Max(vp => vp.Value); var mostNominatedVersions = versionCount.Where(r => r.Value == maxCount).Select(vp => vp.Key); string maxVersion = null; foreach (var nominatedVersion in mostNominatedVersions) { if (maxVersion == null) { maxVersion = nominatedVersion; } else { maxVersion = MinecraftAPI.MaxVersion(maxVersion, nominatedVersion); } } return(maxVersion); }
public Task IsRunning() { try { return(Clients.All.SendAsync("IsRunning", MinecraftService.IsRunning())); } catch { } return(Task.CompletedTask); }
private async Task InitializeApplication() { NavigationService.Lock(); // Sign in to database await AuthService.SignInAsync(); // Ask user for permission await ResourcePackService.EnsureAccessToMinecraftDirectoryAsync(); await MinecraftService.InitializeAsync(); AppSettings.PrintSettings(); NavigationService.Unlock(); }
private async void DownloadButton_Click(object sender, RoutedEventArgs e) { NavigationService.LockFrame(); var option = (ExtractFiles.IsChecked.HasValue && ExtractFiles.IsChecked.Value) ? MinecraftService.DownloadOption.ExtractFiles : MinecraftService.DownloadOption.Default; if (DownloadAllCheckbox.IsChecked.HasValue && DownloadAllCheckbox.IsChecked.Value) { await MinecraftService.DownloadAllAsync(option); } else { await MinecraftService.DownloadAsync(VersionBox.SelectedItem as string, option); } NavigationService.UnlockFrame(); }
public ServicesController(LavalinkService lavalink, MinecraftService minecraft) { this.lavalink = lavalink; this.minecraft = minecraft; Menu = new View(this) { Name = "Services", Parent = CurrentView, Behaviour = new Navigation { Options = new() { new() { Name = "Lavalink", View = Lavalink }, new() { Name = "Minecraft", View = Minecraft }, } } }; }
public MinecraftModule(MinecraftService service) => _service = service;