Модинг:Система ассетов

From Vintage Story Wiki
Revision as of 13:11, 14 June 2022 by Mirotworez (talk | contribs)
Other languages:

Эта страница проверялась в последний раз для версии Vintage Story 1.15.


Vintage Story загружает большую часть игрового контента из JSON файлов. Многие примеры этого можно найти в каталоге assets внутри вашей папки с игрой. Такие вещи, как блоки, предметы, генерация мира, рецепты и т. Д., Загружаются из ресурсов во время запуска.

Поиск папки с активами

Все действующие ресурсы для Vintage Story видны в папке с игрой, что позволяет вам просматривать их и учиться писать свои собственные. Вы можете найти эти файлы, используя следующие методы для каждого типа ОС, на которой вы играете в Vintage Story. Если вы ищете исходный код (то есть классы C#), ваш лучший вариант - погрузиться в Vintage Story Github и просмотреть репозитории vsapi, vssurvivalmod, vsessentialsmod и vscreativemod для ссылок на классы.

Windows

Если вы используете Vintage Story в Windows, вы можете перейти к нужной папке, набрав %appdata% в строке поиска в меню пуск, и вы попадете в папку roaming вашего компьютера. Найдите папку Vintagestory, и вы сразу же наткнетесь на папку ресурсов, которая содержит ресурсы "creative", "game" и "survival".

  • creative содержит ресурсы только для творческого режима.
  • game содержит много универсальных ресурсов, таких как файлы lang, модели объектов и другие важные ресурсы для игры.
  • survival содержит большую часть фактического контента, с которым сталкивается большинство игроков, и содержит все ресурсы, используемые Vintage Story, такие как текстуры звуков и генерация мира.

Список типов активов

Ниже приведены категории ресурсов, которые вы можете использовать при моддинге для Vintage Story. Каждый из них легко модифицируем и может быть использован для простого добавления собственного контента или изменений без необходимости какого-либо сложного кодирования. Вы также можете прочитать примеры, чтобы узнать, что вы можете с ними сделать.

Имя Влияние на игру Тип стороны Применение
Категория активов
blocktypes
Да Универсально Определяет все блоки существующие в игре
itemtypes
Да Универсально Определяет все предметы существующие в игре
lang
Нет Универсально Перевод
worldproperties
Да Универсально Содержит некоторые часто используемые списки свойств
abstract
Да Универсально
block
Да Универсально
sounds
Нет Универсально Звуки в игре
shapes
Нет Универсально Содержит 3d модели для всех предметов, блоков и существ
block
Нет Универсально Модели для блоков
entity
Нет Универсально Модели для существ
item
Нет Универсально Модели для предметов
recipes
Да Только сервер Рецепты крафта, колочения, кузнечного дела и лепки из глины
alloy
Да Только сервер Как металлы могут быть объединены для создания сплавов
grid
Да Только сервер Рецепты создания сетки 3х3
smithing
Да Только сервер Рецепты кузнечного дела на наковальне
worldgen
Да Только сервер Содержит всю конфигурацию для генерации мира
terrain
Да Только сервер Определяет, как должна выглядеть местность и чем она должна быть украшена
config
Да Универсально Используется для общих данных, которые не вписываются в другие категории.
tree
Да Только сервер Определяет форму деревьев
entity
Да Только сервер Животные и другие существа
shaders
Нет Только клиент Содержит исходный код GLSL, определяющий способ отображения игры
shaderincludes
Нет Только клиент Содержит исходный код GLSL, определяющий способ отображения игры
textures
Нет Только клиент Содержит всю графику игры
block
Нет Только клиент Текстуры блоков
item
Нет Только клиент Текстуры предметов
decal
Нет Только клиент Decaltextures
entities
Нет Только клиент Текстуры существ
environment
Нет Только клиент Текстуры окружения (Небо, Луна, Солнце и т.д.)
gui
Нет Только клиент Текстуры интерфейса
hud
Нет Только клиент Текстуры индикаторов
particle
Нет Только клиент Текстуры частиц
music
Нет Только клиент Музыкальные треки игры и их конфигурация
dialog
Нет Только клиент Содержит несколько макетов диалогов

Домены

Домены используются для отделения мод-контента от оригинального. По сути, домен - это префикс для любого заданного кода (идентификатор элемента, блока и т.д.) Или пути (текстуры, звуки и т.д.). Сама по себе Vintage Story имеет свой собственный префикс game.

Когда пакуете мод, вы указываете домен, помещая каталог в каталог мода assets со всеми вашими активами мода внутри. Имя каталога вашего домена будет «текущим доменом» для всех активов в нем. Если в коде ресурса не указан домен, игра предположит, что он находится в текущем домене, то есть вам нужно добавить префикс домена только в том случае, если вы хотите сослаться на что-то за пределами текущего домена.

Например, если вы хотите создать новый блок, который использует оригинальную текстуру кожи, вам нужно будет указать домен (поскольку у вашего блока не стандартный). Вместо использования assets/textures/blocks/leather.png вы должны добавить префикс для домена game:assets/textures/blocks/leather.png.


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

Никаких ограничений. Вы вполне можете изменить любой актив Vintage Story, используя папку домена game.

Чтобы изменить Блоктайп кровати, вы можете поместить свой собственный JSON файл в zip архив расположенный в assets/game/blocktypes/bed.json. Тогда Vintage Story загрузит ваш JSON-файл вместо исходного.

Пакеты тем могут переопределять только ресурсы, которые не влияют на игровую механику, другие типы модов могут переопределять любой актив.

Доступ к активам в коде

Чтобы получить доступ к активам в коде мода, вы можете использовать Менеджер Активов.

Дальнейшее продвижение

Как только вы поймете, что такое ресурсы и как они организованы, можете перейти к вашему первому контент-моду. Перейдите к странице Основа блока , чтобы узнать, как сделать свой первый блок, или перейдите на страницу Основа предмета, если вы хотите начать с создания предмета. Обе статьи, отличный способ научиться делать свой первый мод.

 

Wondering where some links have gone?
The modding navbox is going through some changes! Check out Navigation Box Updates for more info and help finding specific pages.

Modding
Modding Introduction Getting Started Пакет тем
Content Modding Content Mods Developing a Content Mod Basic Tutorials Intermediate Tutorials Advanced Tutorials Content Mod Concepts
Code Modding Code Mods Setting up your Development Environment
Property Overview ItemEntityEntity BehaviorsBlockBlock BehaviorsBlock ClassesBlock EntitiesBlock Entity BehaviorsCollectible BehaviorsWorld properties
Workflows & Infrastructure Modding Efficiency TipsMod-engine compatibilityMod ExtensibilityVS Engine
Additional Resources Community Resources Modding API Updates Programming Languages List of server commandsList of client commandsClient startup parametersServer startup parameters
Example ModsAPI DocsGitHub Repository