Репозиторий собирает данные из MetalSage/space-stories-cm14 и сохраняет готовые JSON и спрайты для вики.
Workflow: .github/workflows/build-chemistry-catalog.yml
Сборщик:
- Загружает химические YAML, XML-руководства и локализацию
ru-RUиз веткиmasterигры. - Индексирует реагенты и реакции.
- Разрешает наследование прототипов.
- Связывает рецепты, ингредиенты и продукты.
- Распределяет реагенты по разделам.
- Проверяет итоговый каталог и сохраняет его в
data/.
Разделы каталога:
ordnance— боевая химия;medicine— медицина;drinks— напитки;elements— элементы;other— остальные вещества.
Основные скрипты:
scripts/extract_guide_sections.py— читает XML-руководства;scripts/index_chemistry.py— индексирует YAML-прототипы;scripts/build_chemistry_catalog.py— собирает итоговый каталог.
Workflow: .github/workflows/build-equipment-catalog.yml
Сборщик:
- Загружает прототипы, локализацию и текстуры из ветки
masterигры. - Находит предметы через торговые автоматы и каталог карго.
- Разрешает наследование и связи между прототипами.
- Определяет названия, описания, характеристики и категории.
- Применяет администраторские изменения из
config/catalog-overrides.json. - Создаёт PNG-спрайты публичных предметов.
- Проверяет JSON, связи, категории и спрайты.
Основные файлы:
config/equipment-sources.yml— источники и правила автоматической классификации;config/catalog-overrides.json— ручное скрытие предметов и смена категорий;scripts/build_equipment_catalog.py— сборка каталога;scripts/validate_equipment_catalog.py— проверка результата.
Overrides применяются после автоматической классификации. Поэтому ручное решение имеет приоритет над правилами сборщика.
- Открыть вкладку Actions в GitHub.
- Выбрать Build chemistry catalog или Build equipment catalog.
- Нажать Run workflow и выбрать ветку
main. - Дождаться зелёной отметки.
Админка обновляет config/catalog-overrides.json. Если в workflow снаряжения настроен push-триггер для этого файла, сборка запускается автоматически. Иначе запустите Build equipment catalog вручную.
При успешной сборке GitHub Actions создаёт коммит только при наличии изменений. Сообщение Nothing changed означает, что итоговые файлы не изменились.
Откройте config/equipment-sources.yml и добавьте ID:
- в
vendors— для торгового автомата; - в
cargoCatalogs— для каталога карго.
После изменения запустите сборку снаряжения.
Используйте админ-режим сайта. Он записывает изменения в config/catalog-overrides.json.
Формат записи:
{
"schemaVersion": 1,
"items": {
"PrototypeId": {
"hidden": true
},
"AnotherPrototypeId": {
"category": "Другое"
}
}
}JSON не поддерживает комментарии и запятую после последнего поля объекта.
В config/equipment-sources.yml доступны:
excludePrototypeIds— исключить прототип;includePrototypeIds— принудительно включить;categoryOverrides— назначить категорию;canonicalPrototypeIds— заменить дублирующий ID каноническим.
Эти правила нужны для ошибок или особенностей игровых данных. Обычные ручные изменения делаются через catalog-overrides.json.
Файлы в data/ создаются автоматически. Не редактируйте их вручную.
| Файл | Назначение |
|---|---|
data/chemistry-catalog.json |
готовый каталог химии для вики |
data/chemistry-guides.json |
данные XML-руководств |
data/chemistry-index.json |
индекс реагентов и реакций |
data/equipment-catalog.json |
готовый каталог снаряжения |
data/equipment-index.json |
технический индекс снаряжения |
data/equipment-sprites/ |
PNG-спрайты публичных предметов |
Файл config/catalog-overrides.json содержит ошибку JSON. Откройте указанную в логе строку и проверьте кавычки, запятые и фигурные скобки.
В конфиге или overrides указан ID, которого нет в текущих игровых данных, либо неверное название категории. Исправьте указанную запись и повторите сборку.
Если в логе есть Nothing changed, сборка прошла успешно, но результат совпал с уже опубликованными файлами.
При любой ошибке workflow не публикует частично собранные данные: предыдущая рабочая версия остаётся в репозитории.
.github/workflows/ GitHub Actions
config/ источники и ручные overrides
scripts/ сборщики и валидаторы
data/ готовые JSON и спрайты