Files
2026-10-11 22:32:13 +03:00

45 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# modloader.h
Перечисление модлоадеров, запись одной версии модлоадера и перевод между перечислением и
строковым ключом. Только заголовок, `.cpp` нет.
## ModLoader
`Forge`, `Fabric`, `NeoForge`, `Quilt`.
Модлоадеры взаимоисключающие: игра запускается с одним профилем из `versions/`, поэтому у сборки
может быть не больше одного модлоадера. [LoaderRow](../qml/LoaderRow.md) снимает отметку с
остальных, когда пользователь отмечает один.
## Ключи и названия
| Значение | `loaderKey()` | `loaderTitle()` |
|----------|---------------|-----------------|
| `Forge` | `forge` | Minecraft Forge |
| `Fabric` | `fabric` | Fabric Loader |
| `NeoForge` | `neoforge` | NeoForge |
| `Quilt` | `quilt` | Quilt Loader |
Ключ используется в QML, в имени файла кэша (`cache/loader_<ключ>.json`) и в поле `loader` записи
сборки в `customBuilds.json`. Если его поменять, старые сборки и кэши перестанут читаться.
`loaderFromKey(key)` возвращает `std::nullopt` для любой другой строки, в том числе пустой. В
бэкенде это значит «ванильная сборка».
Названия не переводятся: это имена собственные.
## LoaderVersionEntry
| Поле | Что это |
|------|---------|
| `loaderVersion` | `47.4.0`, `0.19.3`, `21.1.248` |
| `gameVersion` | `1.20.1` |
| `versionId` | ожидаемое имя профиля в `versions/`. У Fabric и Quilt оно известно заранее (`fabric-loader-<версия>-<игра>`), у Forge и NeoForge пусто: имя становится известно только после работы установщика |
| `installerUrl` | ссылка на `installer.jar`, только у Forge и NeoForge |
| `recommended` | у Forge помечено как recommended в `promotions_slim.json` |
| `stable` | не альфа, не бета, не rc/pre |
---
При создании этого документа использовался ИИ.