Модинг:Система ассетов
Эта страница проверялась в последний раз для версии 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 | Item • Entity • Entity Behaviors • Block • Block Behaviors • Block Classes • Block Entities • Block Entity Behaviors • Collectible Behaviors • World properties |
Workflows & Infrastructure | Modding Efficiency Tips • Mod-engine compatibility • Mod Extensibility • VS Engine |
Additional Resources | Community Resources • Modding API Updates • Programming Languages • List of server commands • List of client commands • Client startup parameters • Server startup parameters Example Mods • API Docs • GitHub Repository |