Структура
Структура и приоритет
Все файлы модов для GP-Next находятся в папке gp-next/ внутри каталога данных игры.
Вы можете открыть вкладку Patcher в игре и нажать "Open Folder", чтобы перейти туда напрямую.
Структура папок
com.pvzge.app/
└── gp-next/
├── settings.json
├── packs/
│ ├── MyPack/
│ │ ├── pack.json
│ │ └── jsons/
│ │ ├── config/
│ │ ├── features/
│ │ ├── lang/
│ │ ├── objects/
│ │ ├── levels/
│ │ └── worldmap/
│ └── AnotherPack.zip
├── patches/
│ └── jsons/
│ ├── features/
│ ├── lang/
│ ├── objects/
│ └── levels/
└── __gpn_edits/Для чего нужна каждая папка
packs/
Это основная папка, которую стоит использовать в большинстве случаев.
- В ней могут лежать полноценные папки datapack-пакетов
- Также можно класть
.zip-архивы напрямую - Она подходит для полноценных модов, долгосрочной поддержки и публикации
Если вы делаете runtime-замену карты мира, здесь также может быть:
jsons/worldmap/gpn-worldmap.json5jsons/config/patching.json
Это не то же самое, что обычный патч features/WorldmapFeatures.json5. Первый меняет runtime-граф карты, второй — сырые данные мира.
jsons/config/patching.json — это файл конфигурации самой системы обычных JSON-патчей. Сейчас он в основном используется для задания файлового режима merge / replace для отдельных типов в features и objects.
patches/
Это устаревшая папка для отдельных JSON-патчей.
- Она нужна в основном для старых рабочих процессов
- Для нее не требуется
pack.json - Ее приоритет выше, чем у
packs/
Если вы хотите быстро проверить один JSON-файл, эта папка удобна. Если вы собираетесь поддерживать мод или делиться им, лучше использовать packs/.
__gpn_edits/
Здесь сохраняются ручные правки со страницы Data.
- Данные, измененные прямо в игре, будут записаны сюда
- У этой папки самый высокий приоритет
- Она удобна для быстрых экспериментов и точной настройки
- Это не лучший формат для публикации полноценного мода
settings.json
Это локальный файл настроек GP-Next.
Он в основном хранит:
- порядок datapack-пакетов
- отключенные пакеты
- другие локальные настройки панели
Приоритет
Порядок переопределения в GP-Next можно свести к следующему:
packs/patches/__gpn_edits/
То есть более поздние источники имеют более высокий приоритет.
Дополнительные правила
Внутри packs/
Несколько datapack-пакетов в packs/ загружаются в соответствии с сохраненным порядком и их состоянием включения. На одном уровне GP-Next также учитывает значение priority в pack.json.
Практически нужно помнить две вещи:
- меньшее значение
priorityзагружается раньше - содержимое, загруженное позже, может переопределять содержимое, загруженное раньше
patches/
patches/ предназначен для сохранения старых рабочих процессов, поэтому всегда переопределяет обычные datapack-пакеты.
__gpn_edits/
Это правки, которые вы сделали прямо на странице Data, поэтому система считает их последним слоем переопределения.
Как распределять содержимое
packs/
- моды, которые вы планируете поддерживать долго
- содержимое, которым хотите делиться с другими игроками
- полноценные моды с несколькими файлами, несколькими типами, описанием и миниатюрой
patches/
- однофайловые эксперименты
- временные материалы при переходе со старого процесса gePatcher
__gpn_edits/
- быстрые проверки значений
- временные исправления
- проверка, дает ли поле нужный эффект
