53 lines
3.2 KiB
Markdown
53 lines
3.2 KiB
Markdown
# Управление модами — Phase 3
|
|
|
|
Из корня репозитория, после установки npm dependencies и packwiz:
|
|
|
|
```bash
|
|
./mcpack add mouse-tweaks
|
|
./mcpack remove mouse-tweaks
|
|
./mcpack update sophisticated-backpacks
|
|
./mcpack update --all
|
|
```
|
|
|
|
`add` использует Modrinth; принимает slug, project ID, URL или одну строку
|
|
поиска в кавычках. Конкретная версия выбирается штатным version URL:
|
|
|
|
```bash
|
|
./mcpack add https://modrinth.com/mod/sophisticated-backpacks/version/pJxNzk4X
|
|
```
|
|
|
|
`remove` и `update <mod>` используют имя metadata, понятное packwiz, например
|
|
`sophisticated-backpacks`. Wrapper сохраняет stdin/stdout/stderr packwiz,
|
|
его prompts и код завершения. По умолчанию автоматического согласия нет.
|
|
`--yes` или `-y` явно передаёт packwiz `--yes`; при поиске packwiz может
|
|
выбрать первый результат, поэтому для точного выбора использовать slug/ID/URL.
|
|
|
|
Каждая команда поддерживает `--config FILE`. Config выбирает pack directory
|
|
относительно корня проекта; cwd вызывающей стороны не меняет выбор pack.
|
|
Проверяются config, пути и SHA256 закреплённого packwiz. Аргументы передаются
|
|
массивом без shell, строки поиска не исполняются как команды.
|
|
|
|
Команды изменяют source metadata/indexes через packwiz. Они не повышают
|
|
версию сборки, не запускают build, не изменяют готовые релизы и runtime.
|
|
Перед новым build выбрать новую `version` в `pack/pack.toml`, поскольку
|
|
существующий релиз той же версии не перезаписывается. Например, следующим
|
|
после 0.0.4 может быть 0.0.5. Правила build — [build.md](build.md).
|
|
|
|
Side metadata и dependencies остаются ответственностью packwiz; wrapper
|
|
не переписывает resolver и не удаляет автоматически оставшиеся dependencies.
|
|
Применение модов к уже работающему серверу относится к следующим фазам.
|
|
|
|
## Проверка
|
|
|
|
```bash
|
|
npm test
|
|
bash scripts/verify-phase3.sh
|
|
```
|
|
|
|
Вторая команда требует сети для Modrinth и работает в одноразовом локальном
|
|
Git clone внутри `.tools/`, с копиями проверенных инструментов и установленными
|
|
npm dependencies. Удаляет Backpacks, добавляет 3.26.6.2174, обновляет до
|
|
3.26.7.2182 отдельно и через `--all`. После каждого состояния выпускает
|
|
полный тестовый релиз с Compose/manifest/checksums. Основной pack и runtime
|
|
не меняются. Network/provider errors возвращаются как ошибки packwiz.
|