8000 GitHub - Gml-Launcher/CmlLib.Core: .NET Minecraft Launcher Library. All Version, Auth, Forge, Java, Crossplatform
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

.NET Minecraft Launcher Library. All Version, Auth, Forge, Java, Crossplatform

License

Notifications You must be signed in to change notification settings

Gml-Launcher/CmlLib.Core

 
 

Repository files navigation

CmlLib.Core

Minecraft Launcher Library

Nuget Badge GitHub license Codacy Badge

Discord

CmlLib.Core is a Minecraft launcher library for .NET
support all vanilla and mod versions (including Forge, Fabric, etc...)

한국어 문서

Features

  • Authenticate with Microsoft Xbox account
  • Get vanilla versions and installed versions
  • Install vanilla versions
  • Launch any vanilla version (tested up to 1.21)
  • Launch Forge, Optifine, FabricMC, LiteLoader or any other custom version
  • Install Java runtime
  • Install LiteLoader, FabricMC
  • Launch with options (direct server connecting, screen resolution, JVM arguments)
  • Cross-platform (Windows, Linux, macOS)

Go to the wiki for all features

Install

Install the CmlLib.Core Nuget package

QuickStart

Get All Versions

using CmlLib.Core;

var launcher = new MinecraftLauncher();
var versions = await launcher.GetAllVersionsAsync();
foreach (var version in versions)
{
    Console.WriteLine($"{version.Type} {version.Name}");
}

Launch the Game

using CmlLib.Core;
using CmlLib.Core.ProcessBuilder;

var launcher = new MinecraftLauncher();
var process = await launcher.InstallAndBuildProcessAsync("1.21", new MLaunchOption());
process.Start();

Launch the Game with Options

using CmlLib.Core;
using CmlLib.Core.Auth;
using CmlLib.Core.ProcessBuilder;

var path = new MinecraftPath("./my_game_dir");
var launcher = new MinecraftLauncher(path);
launcher.FileProgressChanged += (sender, args) =>
{
    Console.WriteLine($"Name: {args.Name}");
    Console.WriteLine($"Type: {args.EventType}");
    Console.WriteLine($"Total: {args.TotalTasks}");
    Console.WriteLine($"Progressed: {args.ProgressedTasks}");
};
launcher.ByteProgressChanged += (sender, args) =>
{
    Console.WriteLine($"{args.ProgressedBytes} bytes / {args.TotalBytes} bytes");
};

await launcher.InstallAsync("1.20.4");
var process = await launcher.BuildProcessAsync("1.20.4", new MLaunchOption
{
    Session = MSession.CreateOfflineSession("Gamer123"),
    MaximumRamMb = 4096
});
process.Start();

Documentation

Official documentation

한국어 문서

Example

Sample Launcher

Contributors

Made with contrib.rocks.

About

.NET Minecraft Launcher Library. All Version, Auth, Forge, Java, Crossplatform

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.4%
  • PowerShell 0.6%
0