Перейти до змісту

Екстракція файлів завантажувача модів

Ви можете витягти файли з будь-якого типу клієнта, включаючи Forge та Fabric, і автоматизувати їхнє встановлення.

Попередження про авторське право

Витягнуті файли можуть містити контент, захищений авторським правом. Розповсюдження цих файлів може порушувати EULA Minecraft або відповідні закони. Будь ласка, перевірте це перед розповсюдженням.

Метод витягування

  1. Видаліть директорію .minecraft
  2. Запустіть ванільну версію гри, файли якої ви хочете витягти, за допомогою Mojang launcher і закрийте її (наприклад, щоб витягти Forge для 1.7.10, спочатку запустіть ванільну 1.7.10)
  3. Встановіть завантажувач модів у .minecraft
  4. Запустіть встановлений завантажувач модів через Mojang launcher і закрийте його
  5. Скопіюйте директорію libraries та директорію versions/<назва версії> з .minecraft. Ці дві директорії і є витягнутими файлами.

Приклад: 1.21.4-forge-54.1.0

/
├── libraries/
│   ├── org/
│   ├── net/
│   └── ...
└── versions/
    └── 1.21.4-forge-54.1.0/
        └── 1.21.4-forge-54.1.0.json

Попередження щодо файлів JAR

Якщо файл versions/<назва версії>/<назва версії>.jar існує, будь ласка, перевірте його перед розповсюдженням!

  • У більшості випадків CmlLib завантажить цей файл з офіційного сервера розповсюдження Mojang, навіть якщо він відсутній.
  • Якщо розповсюдження є необхідним, переконайтеся, що ви не порушуєте EULA Minecraft або закони про авторське право.

Розповсюдження та встановлення

Розповсюджуйте витягнуті файли разом із вашим лаунчером. Існує кілька способів розповсюдження:

  • Завантажити витягнуті файли на власний файловий сервер
  • Вбудувати витягнуті файли у виконуваний файл лаунчера за допомогою EmbeddedResource

Реалізуйте код для копіювання або завантаження розповсюджуваних файлів у директорію гри для їх встановлення.

Запуск

Після завантаження версій відобразяться назви встановлених версій. Запустіть гру, використовуючи назву версії. Дивіться Minecraft Launcher.

var versions = await launcher.GetAllVersionsAsync();
foreach (var v in versions)
{
    Console.WriteLine(v.Name);
}

// Приклад: коли встановлено версію 1.21.4-forge-54.1.0

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

Оскільки витягнуті файли зазвичай є неповними, завжди викликайте InstallAsync, щоб переконатися, що всі відсутні файли встановлені.