Модификации:Редактирование XNB-файлов
На этой странице объясняется, как редактировать файлы игры для изменения внутриигровых данных, изображений и карт.
Введение
Что такое XNB-файл?
Игра хранит свои данные в сжатом контейнере .xnb формата в директории Content. Например, портреты Абигейл, отображаемые во время диалога, упакованы в файл Content\Portraits\Abigail.xnb. Каждый .xnb файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри Content\Portraits\Abigail.xnb:
Abigail.xnb Abigail.png Abigail.yaml
В примере выше:
- Abigail.yaml содержит метаданные о файле Abigail.png (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется.
Как внести изменения в игру?
Существуют три способа создания изменений:
- Создать с помощью Content Patcher контент пакет. Таким образом можно изменить XNB-файл игры без использования программирования (просто отредактировать файл JSON), а также не заменять оригинальный файл игры.
- Создание SMAPI мода и использование его [API]. Требуются навыки программирования.
- Создание XNB-мода и замена оригинальных файлов. Этот метод крайне не рекомендуется; смотрите использование XNB-модификаций для получения дополнительной информации.
Где получить помощь?
Сообщество мододелов Stardew Valley дружелюбно. Спросите совета у других мододелов.
Распаковывание и упаковывание ресурсов
Файлы формата .xnb представляют собой сжатый контейнер и не редактируются. Для редактирования ресурсов игры используется программа xnbcli, позволяющая распаковывать и упаковывать XNB-файлы. Она кроссплатформена и имеет открытый исходный код.
Как это работает:
- Скачивается xnbcli.
- Распаковывается файл для редактирования:
- Находится нужный .xnb файл в директории Content.
- Копируется в директорию packed программы xnbcli.
- Двойной клик по unpack.bat (Windows) или unpack.sh (Linux/Mac).
- Редактирование распакованных данных (смотрите ниже).
- Упаковывание ресурсов назад в файл:
- Двойной клик по pack.bat (Windows) или pack.sh (Linux/Mac).
- Замена оригинального .xnb файла измененным.
Редактирование распакованных данных
Данные
XNB-данные имеют разные форматы. Для детальной информации смотрите раздел Модификации:Главная#Дополнительно.
Изображения
Несколько определений:
- Спрайт-лист представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется спрайтом. Например, спрайты многих объектов хранятся в Content\Maps\spring_objects.xnb.
- Тайл-лист является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется тайлом и имеет размер 16×16 пикселей.
- Портрет спрайты содержащие портреты персонажей. Находятся в Content\Characters\*.xnb.
Спрайт-листы легко редактируются:
- Распаковывается .xnb файл, ресурсы которого будут редактироваться.
- Открывается .png файл в графическом редакторе (например Paint.NET для Windows, или GIMP для Linux/Mac).
- Вносятся изменения в изображение.
- Упаковываются ресурсы в .xnb файл, и он переносится в исходную директорию.
Теперь можно запустить игру, и увидеть изменения.
Карты
Смотрите Модификации:Карты.