Minecraft OptiFine Installer.
- Fetch available OptiFine versions from the official source.
- Display version details including Forge compatibility, preview status, and upload date.
- Install Nearly All OptiFine Versions
Install the Optifine.Installer Nuget package
Sample Code With CmlLib.Core
using CmlLib.Core;
using CmlLib.Core.Auth;
using CmlLib.Core.ProcessBuilder;
using Optifine.Installer;
using System;
using System.Linq;
using System.Net.Http;
var loader = new OptifineInstaller(new HttpClient());
var versions = await loader.GetOptifineVersionsAsync();
Console.WriteLine($"{"Version",-40} {"Forge Ver",-10} {"Preview",-8} {"Uploaded",-12}");
Console.WriteLine(new string('-', 61));
foreach (var v in versions)
{
Console.WriteLine($"{v.Version,-40} {v.ForgeVersion,-10} {(v.IsPreviewVersion ? "Yes" : "No"),-8} {v.UploadedDate:yyyy-MM-dd}");
}
Console.WriteLine(new string('-', 61));
Console.Write("Version: ");
var version = Console.ReadLine();
Console.WriteLine("selected version: " + version);
var selectedVersion = versions.FirstOrDefault(x => x.Version == version);
if (selectedVersion is null)
{
Console.WriteLine("version not found");
return;
}
var minecraftPath = new MinecraftPath();
var launcher = new MinecraftLauncher(minecraftPath);
await launcher.InstallAsync(selectedVersion.MinecraftVersion);
Console.WriteLine($"done installing vanilla version: {selectedVersion.MinecraftVersion}");
var versionName = await loader.InstallOptifineAsync(minecraftPath.BasePath, selectedVersion);
Console.WriteLine($"done installing optifine: {versionName}");
var process = await launcher.InstallAndBuildProcessAsync(versionName, new MLaunchOption
{
Session = MSession.CreateOfflineSession("test123"),
MaximumRamMb = 2048
});
process.Start();
await process.WaitForExitAsync();- OptiFine_1.21.4_HD_U_J4_pre2
- OptiFine_1.21.3_HD_U_J2
- OptiFine_1.21.1_HD_U_J1
- OptiFine_1.21_HD_U_J1_pre9
- OptiFine_1.20.6_HD_U_J1_pre18
- OptiFine_1.20.4_HD_U_I8_pre4
- OptiFine_1.20.2_HD_U_I7_pre1
- OptiFine_1.20.1_HD_U_I6
- OptiFine_1.20_HD_U_I5_pre5
- OptiFine_1.19.4_HD_U_I4
- OptiFine_1.19.3_HD_U_I3
- OptiFine_1.19.2_HD_U_I2
- OptiFine_1.19.1_HD_U_H9
- OptiFine_1.19_HD_U_H9
- OptiFine_1.18.2_HD_U_H9
- OptiFine_1.18.1_HD_U_H6
- OptiFine_1.18_HD_U_H3
- OptiFine_1.17.1_HD_U_H2_pre1
- OptiFine_1.17_HD_U_G9_pre26
- OptiFine_1.16.5_HD_U_G8
- OptiFine_1.16.4_HD_U_G7
- OptiFine_1.16.3_HD_U_G5
- OptiFine_1.14.4_HD_U_G5
- OptiFine_1.14.3_HD_U_F2
- OptiFine_1.12.2_HD_U_G6_pre1
- OptiFine_1.8.9_HD_U_M6_pre2
- OptiFine_1.8.9_HD_U_M5
- OptiFine_1.8.8_HD_U_I7
- OptiFine_1.7.2_HD_U_E3
- (None identified yet.)