Skip to main content

Моды: установка, структура папок и экспорт guide

Моды — это пользовательские пакеты, которые изменяют или расширяют shapez 2 — от простых удобных утилит до новых машин, игровых механик, переводов или пользовательских сценариев. Игра нативно поддерживает моды и имеет определённую структуру папок, чтобы моды можно было легко устанавливать, разрабатывать и распространять.

Куда помещать моды и персистентные данные

  • Игра хранит персистентные данные (включая моды, пользовательские сценарии, пресеты и экспортированные данные базы) внутри Game Data Folder (также известной как Game Data или папка сохранений).
  • Пути:
    • Windows: %USERPROFILE%\AppData\LocalLow\tobspr Games\shapez 2\
    • MacOS: ~/Library/Application Support/tobspr Games/shapez 2/
    • Linux: ~/.config/unity3d/tobspr Games\shapez 2/
  • Открыть папку из игры:
    • Главное меню → Play → Show Folder, затем перейти в родительскую папку.
    • В игре → Blueprint Library → Open Folder, затем перейти в родительскую папку.
    • Команды Debug Console: logs.open-folder или savegames.open-folder (примечание: на MacOS для части логирования используется Игрок.log).

Структура папки mods и установка

  • Папка mods внутри Game Data Folder — это место, куда помещают моды, чтобы игра загружала их локально.
  • Каждый мод — это подпапка внутри папки mods. Игра загрузит каждую подпапку как отдельный мод.
  • Поддерживаются моды из Steam Workshop — они будут автоматически загружаться при подписке через Workshop.

Ресурсы и инструменты для моддинга

  • Официальные и сообщественные ресурсы:
    • Официальная документация по моддингу и рекомендации по арту/ассетам от разработчика.
    • Примеры модов и репозитории ShapezShifter (modding API) доступны на GitHub.
    • Существуют неофициальные руководства сообщества, дополняющие официальные документы.
    • Полезная документация по сторонним инструментам: MonoMod RuntimeDetour и HarmonyX для runtime-перехватов и патчей.
  • Игра использует Unity (конкретная версия Unity указана в документации) и API для моддинга (ShapezShifter) для упрощения интеграции; внешний загрузчик модов не требуется.
  • Для более глубокого развития и отладки доступны сборочные и класс-референсы.

Экспорт игровых данных для использования в моде

  • Игра может экспортировать свои внутренние данные (базовый контент, такой как сущности, сценарии, пресеты) для повторного использования или справки:
    • В игре откройте Debug Console (F1) и выполните debug.export-game-data.
    • Это создаст папку named basedata- внутри Game Data Folder. Используйте файлы там как шаблоны для пользовательского JSON-контента.

Пользовательские сценарии, пресеты и сложности

  • Пользовательские сценарии:
    • Поместите JSON-файлы сценариев в папку custom-scenarios в Game Data Folder, чтобы игра загрузила их.
    • Экспортированные внутри игры файлы сценариев находятся в папке scenarios экспортированной папки basedata.
  • Пользовательские пресеты параметров сценариев:
    • Поместите JSON-файлы пользовательских пресетов в custom-scenario-parameter-presets в Game Data Folder.
    • Внутри игры пресеты сценариев находятся в папке scenario-parameter-presets в экспортированных basedata-папках.
    • При выборе Scenario первым в списке внутреннего списка будет выбран тот Scenario Preset, который указывает на этот Scenario, и он станет пресетом по умолчанию.
  • Пользовательские пресеты сложности:
    • В данный момент игра не поддерживает загрузку пользовательских пресетов сложности напрямую как JSON-файлы. Вы всё ещё можете просмотреть пресеты сложности внутри игры в папке difficulty-presets экспортированной basedata-папки.

Пользовательские переводы

  • Чтобы загрузить пользовательские переводы, создайте файл translations-override.json с тем же форматом, что и translations-en-US.json, и поместите его в ожидаемое игрой место.
  • Запустите игру с параметром командной строки --custom-translations, чтобы она загрузила файл переопределения.
  • Поле LanguageTitle внутри файла игнорируется; язык отобразится как "Custom" в настройке языка. Отсутствующие ключи будут падать обратно на английский.

Рабочий процесс разработки и отладка

  • Типичный рабочий процесс:
    • Экспортируйте базовые данные игры, чтобы использовать существующий JSON как шаблоны.
    • Создайте подпапку мода с вашими ассетами, кодом и JSON-определениями, следуя документации и рекомендациям по арту.
    • Используйте API для моддинга (ShapezShifter) или библиотеки для runtime-патчинга, если нужно изменить поведение кода.
    • Тестируйте локально, поместив папку мода в директорию mods и запустив игру.
  • Debug Console доступна в игре для команд и устранения неполадок.
  • Документы по отладке и runtime-патчингу, а также примеры из сообщества (sample mods) — рекомендованные материалы для изучения.

Публикация и распространение модов

  • Steam Workshop:
    • Моды можно публиковать в Steam Workshop для автоматического распространения.
  • Распространение в сообществе:
    • Обмен чертежами и контентом также происходит через сайт Community Vortex и официальный Discord (канал #🛠blueprints).
  • Следуйте правилам публикации модов и гайдлайнам по ассетам, чтобы избежать конфликтов или сломанных ресурсов при публикации.

Темы и продвинутые соображения

  • Релевантные темы моддинга, освещённые в документации:
    • Modding Overview, Development Environment, Mod Loading, Debugging, Mod Publishing, Command Line Arguments, Game Files, Custom Game Modes, Debug Console.
  • Используйте предоставленные sample mods и API-референсы, чтобы изучить шаблоны и лучшие практики.
  • При изменении или добавлении контента в виде JSON (сценарии, пресеты, переводы) убедитесь, что имена файлов и их расположение соответствуют ожидаемым папкам, описанным выше, чтобы игра распознала их.

Быстрый чеклист для начала

  • Экспортируйте базовые данные: откройте Debug Console → debug.export-game-data.
  • Создайте папку мода внутри Game Data Folder/mods/ и добавьте ваш контент.
  • Для пользовательских сценариев или пресетов поместите JSON-файлы в custom-scenarios или custom-scenario-parameter-presets соответственно.
  • Для переводов создайте translations-override.json и запустите игру с --custom-translations.
  • Подпишитесь/опубликуйте в Steam Workshop, чтобы делиться модами или получать их.
  • Обратитесь к официальной документации по моддингу, sample mods и ShapezShifter для примеров кода и использования API.

Pages featured in this guide