45 lines
2.3 KiB
Markdown
45 lines
2.3 KiB
Markdown
# 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 |
|
||
|
||
---
|
||
|
||
При создании этого документа использовался ИИ.
|