Files
2026-10-04 00:30:09 +07:00

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.