Files
minecraft-lab/docs/mods.md
T
2026-10-04 00:30:09 +07:00

3.2 KiB

Управление модами — Phase 3

Из корня репозитория, после установки npm dependencies и packwiz:

./mcpack add mouse-tweaks
./mcpack remove mouse-tweaks
./mcpack update sophisticated-backpacks
./mcpack update --all

add использует Modrinth; принимает slug, project ID, URL или одну строку поиска в кавычках. Конкретная версия выбирается штатным version URL:

./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.

Side metadata и dependencies остаются ответственностью packwiz; wrapper не переписывает resolver и не удаляет автоматически оставшиеся dependencies. Применение модов к уже работающему серверу относится к следующим фазам.

Проверка

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.