# AirDef: запуск с нуля (Windows и macOS) AirDef работает на своей сборке (форке) Horizon: в ней есть API 3D-моделей, звуков и шейдеров, которого нет в обычном Horizon. Сама игра и её ресурсы берутся из твоего Minecraft — без лицензионного Minecraft Java 26.3 ничего не заработает. ## 1. Общее для обоих способов 1. Купленный **Minecraft: Java Edition** (версия 26.3). 2. **Лаунчер Horizon** — https://playhorizon.dev (раздел Install). Установи его, поставь в нём последнюю версию и **один раз запусти игру**: лаунчер подготовит ресурсы игры из твоего Minecraft. Форк AirDef берёт их оттуда. Где что лежит (обычно ничего трогать не нужно): | | Windows | macOS | |---|---|---| | Папка игры (миры, моды, настройки) | `%APPDATA%\horizon` | `~/Library/Application Support/horizon` | | Ресурсы из лаунчера | `%APPDATA%\horizon-launcher\versions\…\.local\horizon-client\26.3` | `~/Library/Application Support/horizon-launcher/versions/…/.local/horizon-client/26.3` | ## 2а. Готовая сборка из релиза (проще) В репозитории → **Releases** → последний `build-N`. В каждом релизе есть `airdef.hmod` — сам мод (один для всех ОС). Игру-форк сервер сборок не собирает сам: это тяжело для него. Архивы с игрой появляются в релизе, только если их собрали вручную: - `airdef-linux-x86_64.tar.gz` — Actions → **game** → Run workflow, указать тег релиза; - `airdef-windows-x86_64.zip`, `airdef-macos-arm64.tar.gz` — Actions → **desktop** (нужны раннеры с метками `windows-latest` / `macos-latest`). Нет архива для твоей ОС — способ 2б: игра соберётся у тебя, а мод можно взять из релиза или собрать там же. **Windows:** распакуй zip куда угодно и запусти `play.bat`. Он положит мод в папку игры, включит его и запустит игру. Конкретный мир: `play.bat --world "Имя мира"` (в командной строке, из папки архива). Если SmartScreen ругается — «Подробнее → Выполнить в любом случае» (сборка не подписана). **macOS:** распакуй архив, в Терминале: ```sh cd ~/Downloads/airdef-macos-arm64 ./play.sh # или ./play.sh --world "Имя мира" ``` Скрипт сам снимает карантин с файлов. Если macOS всё же блокирует запуск — «Системные настройки → Конфиденциальность и безопасность → Всё равно открыть». ## 2б. Сборка из исходников Нужно: **Git**, **Python 3**, **Rust** (https://rustup.rs). Сборка игры занимает ~5–15 минут и ~5 ГБ на диске. ### Windows 1. Поставь **Git** (https://git-scm.com), **Python 3** (https://python.org, галочка «Add to PATH»), **Visual Studio Build Tools** с компонентом «Разработка классических приложений на C++» (https://visualstudio.microsoft.com/visual-cpp-build-tools/), затем **Rust** (`rustup-init.exe` с rustup.rs). 2. В PowerShell: ```powershell rustup target add wasm32-unknown-unknown git clone https://gitea.maoniao.team/chexit/airdef.git cd airdef py tools\airdef.py all # форк Horizon + сборка игры + мод + установка мода py tools\airdef.py play # запуск; мир: py tools\airdef.py play --world "Имя мира" ``` ### macOS 1. Инструменты разработчика: `xcode-select --install`, затем Rust: `curl -sSf https://sh.rustup.rs | sh` (перезапусти Терминал). 2. В Терминале: ```sh rustup target add wasm32-unknown-unknown git clone https://gitea.maoniao.team/chexit/airdef.git cd airdef python3 tools/airdef.py all python3 tools/airdef.py play # или: python3 tools/airdef.py play --world "Имя мира" ``` Клон по HTTPS не требует ключа. Если у тебя есть SSH-ключ в Gitea, можно и так: `git clone ssh://git@gitea.maoniao.team:2222/chexit/airdef.git`. Шаги по отдельности: `fork` (скачать Horizon и наложить патчи `horizon-patches/`), `game` (собрать игру), `mod` (собрать `airdef.hmod`), `install` (положить мод в папку игры и включить), `play`. ## 3. В игре - Создай мир с читами (или включи их через «Открыть для сети»): мод выдаёт пульты и взрывы командами. - `/airdef give` — пульты, **N** — командный пункт (роли ПВО), **K** — монитор комплекса, `/airdef wave mix 20` — налёт. Подробнее — README. - Мод в списке «Настройки → Моды» должен быть включён (скрипты включают его сами). ## Если что-то не так - **«Не найдены ресурсы игры»** — запусти Horizon из лаунчера хотя бы раз; либо укажи путь вручную: `HORIZON_RESOURCES=…/.local/horizon-client/26.3` (Windows: `set HORIZON_RESOURCES=…`). - **Мод в списке, но красный: «made for a newer Horizon»** — игра запущена из лаунчера (обычный Horizon), а нужен форк: запускай через `play.bat` / `play.sh` / `airdef.py play`. - **Нет звука или моделей после обновления мода** — перезапусти игру: ресурсы мода грузятся при старте. - **Тормозит** — `/airdef shader off` (эффекты) и `/airdef damage off` (разрушения).