Модификации:Редактирование XNB-файлов

Материал из Stardew Valley Wiki
Перейти к навигации Перейти к поиску

Модификации:Главная

На этой странице объясняется, как редактировать файлы игры для изменения внутриигровых данных, изображений и карт.

Введение

Что такое XNB-файл?

Игра хранит свои данные в сжатом контейнере .xnb формата в директории Content. Например, портреты Абигейл, отображаемые во время диалога, упакованы в файл Content\Portraits\Abigail.xnb. Каждый .xnb файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри Content\Portraits\Abigail.xnb:

Abigail.xnb
   Abigail.png
   Abigail.yaml

В примере выше:

  • Abigail.png содержит портреты Абигейл. Отредактировав этот файл можно изменить портреты в игре:
    Modding - creating an XNB mod - example portraits.png
  • Abigail.yaml содержит метаданные о файле Abigail.png (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется.

Как внести изменения в игру?

Существуют три способа создания изменений:

  1. Создать с помощью Content Patcher контент пакет. Таким образом можно изменить XNB-файл игры без использования программирования (просто отредактировать файл JSON), а также не заменять оригинальный файл игры.
  2. Создание SMAPI мода и использование его [API]. Требуются навыки программирования.
  3. Создание XNB-мода и замена оригинальных файлов. Этот метод крайне не рекомендуется; смотрите использование XNB-модификаций для получения дополнительной информации.

Где получить помощь?

Сообщество мододелов Stardew Valley дружелюбно. Спросите совета у других мододелов.

Распаковывание и упаковывание ресурсов

Файлы формата .xnb представляют собой сжатый контейнер и не редактируются. Для редактирования ресурсов игры используется программа xnbcli, позволяющая распаковывать и упаковывать XNB-файлы. Она кроссплатформена и имеет открытый исходный код.

Как это работает:

  1. Скачивается xnbcli.
  2. Распаковывается файл для редактирования:
    1. Находится нужный .xnb файл в директории Content.
    2. Копируется в директорию packed программы xnbcli.
    3. Двойной клик по unpack.bat (Windows) или unpack.sh (Linux/Mac).
  3. Редактирование распакованных данных (смотрите ниже).
  4. Упаковывание ресурсов назад в файл:
    1. Двойной клик по pack.bat (Windows) или pack.sh (Linux/Mac).
    2. Замена оригинального .xnb файла измененным.

Редактирование распакованных данных

Данные

XNB-данные имеют разные форматы. Для детальной информации смотрите раздел Модификации:Главная#Дополнительно.

Изображения

Пример тайл-листа, который состоит из сетки тайлов как этот: Modding - creating an XNB mod - example tile 1.png

Несколько определений:

  • Спрайт-лист представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется спрайтом. Например, спрайты многих объектов хранятся в Content\Maps\spring_objects.xnb.
  • Тайл-лист является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется тайлом и имеет размер 16×16 пикселей.
  • Портрет спрайты содержащие портреты персонажей. Находятся в Content\Characters\*.xnb.

Спрайт-листы легко редактируются:

  1. Распаковывается .xnb файл, ресурсы которого будут редактироваться.
  2. Открывается .png файл в графическом редакторе (например Paint.NET для Windows, или GIMP для Linux/Mac).
  3. Вносятся изменения в изображение.
  4. Упаковываются ресурсы в .xnb файл, и он переносится в исходную директорию.

Теперь можно запустить игру, и увидеть изменения.

Карты

Смотрите Модификации:Карты.