Modding:Asset System/ru: Difference between revisions
No edit summary |
Mirotworez (talk | contribs) No edit summary Tag: Manual revert |
||
(26 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{GameVersion|1. | <languages/> | ||
{{GameVersion|1.15}} | |||
__FORCETOC__ | __FORCETOC__ | ||
Vintage Story загружает большую часть игрового контента из JSON файлов. Многие примеры этого можно найти в каталоге <code>assets</code> внутри вашей [[Vintagestory folder|папки с игрой]]. Такие вещи, как блоки, предметы, генерация мира, рецепты и т. Д., Загружаются из ресурсов во время запуска. | Vintage Story загружает большую часть игрового контента из JSON файлов. Многие примеры этого можно найти в каталоге <code>assets</code> внутри вашей [[Vintagestory folder|папки с игрой]]. Такие вещи, как блоки, предметы, генерация мира, рецепты и т. Д., Загружаются из ресурсов во время запуска. | ||
== | == Находим папку assets == | ||
Все действующие ресурсы для Vintage Story видны в папке с игрой, что позволяет вам просматривать их и учиться писать свои собственные. Вы можете найти эти файлы, используя следующие методы для каждого типа ОС, на которой вы играете в Vintage Story. Если вы ищете исходный код (то есть классы C#), ваш лучший вариант - погрузиться в '''[https://github.com/anegostudios Vintage Story Github]''' и просмотреть репозитории '''vsapi''', '''vssurvivalmod''', '''vsessentialsmod''' и '''vscreativemod''' для ссылок на классы. | Все действующие ресурсы для Vintage Story видны в папке с игрой, что позволяет вам просматривать их и учиться писать свои собственные. Вы можете найти эти файлы, используя следующие методы для каждого типа ОС, на которой вы играете в Vintage Story. Если вы ищете исходный код (то есть классы C#), ваш лучший вариант - погрузиться в '''[https://github.com/anegostudios Vintage Story Github]''' и просмотреть репозитории '''vsapi''', '''vssurvivalmod''', '''vsessentialsmod''' и '''vscreativemod''' для ссылок на классы. | ||
=== Windows === | === Windows === | ||
Если вы используете Vintage Story в Windows, вы можете перейти к нужной папке, набрав %appdata% в строке поиска в меню пуск, и вы попадете в папку roaming вашего компьютера. Найдите папку <code>Vintagestory</code>, и вы сразу же наткнетесь на папку | Если вы используете Vintage Story в Windows, вы можете перейти к нужной папке, набрав %appdata% в строке поиска в меню пуск, и вы попадете в папку roaming вашего компьютера. Найдите папку <code>Vintagestory</code>, и вы сразу же наткнетесь на папку assets, которая содержит "creative", "game" и "survival". | ||
* '''creative''' содержит ресурсы только для творческого режима. | * '''creative''' содержит ресурсы только для творческого режима. | ||
* '''game''' содержит много универсальных ресурсов, таких как файлы lang, модели объектов и другие важные ресурсы для игры. | * '''game''' содержит много универсальных ресурсов, таких как файлы lang, модели объектов и другие важные ресурсы для игры. | ||
* '''survival''' содержит большую часть фактического контента, с которым сталкивается большинство игроков, и содержит все ресурсы, используемые Vintage Story, такие как текстуры звуков и генерация мира. | * '''survival''' содержит большую часть фактического контента, с которым сталкивается большинство игроков, и содержит все ресурсы, используемые Vintage Story, такие как текстуры звуков и генерация мира. | ||
== Список типов | == Список типов ассетов == | ||
Ниже приведены категории ресурсов, которые вы можете использовать при моддинге для Vintage Story. Каждый из них легко модифицируем и может быть использован для простого добавления собственного контента или изменений без необходимости какого-либо сложного кодирования. Вы также можете прочитать [[Modding:Basic Modding Examples|примеры]], чтобы узнать, что вы можете с ними сделать. | Ниже приведены категории ресурсов, которые вы можете использовать при моддинге для Vintage Story. Каждый из них легко модифицируем и может быть использован для простого добавления собственного контента или изменений без необходимости какого-либо сложного кодирования. Вы также можете прочитать [[Modding:Basic Modding Examples|примеры]], чтобы узнать, что вы можете с ними сделать. | ||
Line 20: | Line 21: | ||
<table id="treeviewtable" class="table table-bordered tt-table" style='table-layout: fixed'> | <table id="treeviewtable" class="table table-bordered tt-table" style='table-layout: fixed'> | ||
<tr style=''> | <tr style=''> | ||
<th width='300' align='left'> | <th width='300' align='left'>Имя</th> | ||
<th width='200' align='left'> | <th width='200' align='left'>Влияние на игру</th> | ||
<th width='80' align='left'> | <th width='80' align='left'>Тип стороны</th> | ||
<th align='left'> | <th align='left'>Применение</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><div class="tt" data-tt-id="root"> | <td><div class="tt" data-tt-id="root">Категория активов</div></td> | ||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
Line 33: | Line 34: | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_blocktypes" data-tt-parent="root">blocktypes</div></td> | <td scope="row"><div class="tt" data-tt-id="p_blocktypes" data-tt-parent="root">blocktypes</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Определяет все блоки существующие в игре</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_itemtypes" data-tt-parent="root">itemtypes</div></td> | <td scope="row"><div class="tt" data-tt-id="p_itemtypes" data-tt-parent="root">itemtypes</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Определяет все предметы существующие в игре </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_lang" data-tt-parent="root">lang</div></td> | <td scope="row"><div class="tt" data-tt-id="p_lang" data-tt-parent="root">lang</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Перевод</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_worldproperties" data-tt-parent="root">worldproperties</div></td> | <td scope="row"><div class="tt" data-tt-id="p_worldproperties" data-tt-parent="root">worldproperties</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Содержит некоторые часто используемые списки свойств</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_worldproperties_abstract" data-tt-parent="p_worldproperties">abstract</div></td> | <td scope="row"><div class="tt" data-tt-id="p_worldproperties_abstract" data-tt-parent="p_worldproperties">abstract</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Универсально</td> | ||
<td></td> | <td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_worldproperties_block" data-tt-parent="p_worldproperties">block</div></td> | <td scope="row"><div class="tt" data-tt-id="p_worldproperties_block" data-tt-parent="p_worldproperties">block</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Универсально</td> | ||
<td></td> | <td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_sounds" data-tt-parent="root">sounds</div></td> | <td scope="row"><div class="tt" data-tt-id="p_sounds" data-tt-parent="root">sounds</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Звуки в игре</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_shapes" data-tt-parent="root">shapes</div></td> | <td scope="row"><div class="tt" data-tt-id="p_shapes" data-tt-parent="root">shapes</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Содержит 3d модели для всех предметов, блоков и существ</td> | ||
</tr> | </tr> | ||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_shapes_block" data-tt-parent="p_shapes">block</div></td> | <td scope="row"><div class="tt" data-tt-id="p_shapes_block" data-tt-parent="p_shapes">block</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Модели для блоков</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_shapes_entity" data-tt-parent="p_shapes">entity</div></td> | <td scope="row"><div class="tt" data-tt-id="p_shapes_entity" data-tt-parent="p_shapes">entity</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Модели для существ</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_shapes_item" data-tt-parent="p_shapes">item</div></td> | <td scope="row"><div class="tt" data-tt-id="p_shapes_item" data-tt-parent="p_shapes">item</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Универсально</td> | ||
<td> | <td>Модели для предметов</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_recipes" data-tt-parent="root">recipes</div></td> | <td scope="row"><div class="tt" data-tt-id="p_recipes" data-tt-parent="root">recipes</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Только сервер</td> | ||
<td> | <td>Рецепты крафта, колочения, кузнечного дела и лепки из глины</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_recipes_alloy" data-tt-parent="p_recipes">alloy</div></td> | <td scope="row"><div class="tt" data-tt-id="p_recipes_alloy" data-tt-parent="p_recipes">alloy</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Только сервер</td> | ||
<td> | <td>Как металлы могут быть объединены для создания сплавов</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_recipes_grid" data-tt-parent="p_recipes">grid</div></td> | <td scope="row"><div class="tt" data-tt-id="p_recipes_grid" data-tt-parent="p_recipes">grid</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Только сервер</td> | ||
<td> | <td>Рецепты создания сетки 3х3</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_recipes_smithing" data-tt-parent="p_recipes">smithing</div></td> | <td scope="row"><div class="tt" data-tt-id="p_recipes_smithing" data-tt-parent="p_recipes">smithing</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Только сервер</td> | ||
<td> | <td>Рецепты кузнечного дела на наковальне</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_worldgen" data-tt-parent="root">worldgen</div></td> | <td scope="row"><div class="tt" data-tt-id="p_worldgen" data-tt-parent="root">worldgen</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Только сервер</td> | ||
<td> | <td>Содержит всю конфигурацию для генерации мира</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_worldgen_terrain" data-tt-parent="p_worldgen">terrain</div></td> | <td scope="row"><div class="tt" data-tt-id="p_worldgen_terrain" data-tt-parent="p_worldgen">terrain</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Только сервер</td> | ||
<td> | <td>Определяет, как должна выглядеть местность и чем она должна быть украшена</td> | ||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_dialog" data-tt-parent="root">config</div></td> | |||
<td>Да</td> | |||
<td>Универсально</td> | |||
<td>Используется для общих данных, которые не вписываются в другие категории.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_worldgen_tree" data-tt-parent="p_worldgen">tree</div></td> | <td scope="row"><div class="tt" data-tt-id="p_worldgen_tree" data-tt-parent="p_worldgen">tree</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Только сервер</td> | ||
<td> | <td>Определяет форму деревьев</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_entity" data-tt-parent="root">entity</div></td> | <td scope="row"><div class="tt" data-tt-id="p_entity" data-tt-parent="root">entity</div></td> | ||
<td> | <td>Да</td> | ||
<td> | <td>Только сервер</td> | ||
<td> | <td>Животные и другие существа</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_shaders" data-tt-parent="root">shaders</div></td> | <td scope="row"><div class="tt" data-tt-id="p_shaders" data-tt-parent="root">shaders</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Содержит исходный код GLSL, определяющий способ отображения игры</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_shaderincludes" data-tt-parent="root">shaderincludes</div></td> | <td scope="row"><div class="tt" data-tt-id="p_shaderincludes" data-tt-parent="root">shaderincludes</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Содержит исходный код GLSL, определяющий способ отображения игры</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures" data-tt-parent="root">textures</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures" data-tt-parent="root">textures</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Содержит всю графику игры</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures_blocks" data-tt-parent="p_textures">block</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures_blocks" data-tt-parent="p_textures">block</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Текстуры блоков</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures_items" data-tt-parent="p_textures">item</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures_items" data-tt-parent="p_textures">item</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Текстуры предметов</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures_decal" data-tt-parent="p_textures">decal</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures_decal" data-tt-parent="p_textures">decal</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td>Decaltextures</td> | <td>Decaltextures</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures_entities" data-tt-parent="p_textures">entities</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures_entities" data-tt-parent="p_textures">entities</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Текстуры существ</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures_environment" data-tt-parent="p_textures">environment</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures_environment" data-tt-parent="p_textures">environment</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Текстуры окружения (Небо, Луна, Солнце и т.д.)</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures_gui" data-tt-parent="p_textures">gui</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures_gui" data-tt-parent="p_textures">gui</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Текстуры интерфейса</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures_hud" data-tt-parent="p_textures">hud</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures_hud" data-tt-parent="p_textures">hud</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Текстуры индикаторов</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_textures_particle" data-tt-parent="p_textures">particle</div></td> | <td scope="row"><div class="tt" data-tt-id="p_textures_particle" data-tt-parent="p_textures">particle</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Текстуры частиц</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_music" data-tt-parent="root">music</div></td> | <td scope="row"><div class="tt" data-tt-id="p_music" data-tt-parent="root">music</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Музыкальные треки игры и их конфигурация</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_dialog" data-tt-parent="root">dialog</div></td> | <td scope="row"><div class="tt" data-tt-id="p_dialog" data-tt-parent="root">dialog</div></td> | ||
<td> | <td>Нет</td> | ||
<td> | <td>Только клиент</td> | ||
<td> | <td>Содержит несколько макетов диалогов</td> | ||
</tr> | </tr> | ||
Line 234: | Line 235: | ||
= Домены = | = Домены = | ||
Домены используются для отделения мод-контента от оригинального. По сути, домен - это префикс для любого заданного кода (идентификатор элемента, блока и т.д.) Или пути (текстуры, звуки и т.д.). Сама по себе Vintage Story имеет свой собственный префикс <code>game</code>. | Домены используются для отделения мод-контента от оригинального. По сути, домен - это префикс для любого заданного кода (идентификатор элемента, блока и т.д.) Или пути (текстуры, звуки и т.д.). Сама по себе Vintage Story имеет свой собственный префикс <code>game</code> для всех его активов (папки игры, выживания и творчества). | ||
Когда [[Mod Packaging|пакуете мод]], вы указываете домен, помещая каталог в каталог мода <code>assets</code> со всеми вашими активами мода внутри. Имя каталога вашего домена будет «текущим доменом» для всех активов в нем. Если в коде ресурса не указан домен, игра предположит, что он находится в текущем домене, то есть вам нужно добавить префикс домена только в том случае, если вы хотите сослаться на что-то за пределами текущего домена. | |||
Например, если вы хотите создать новый блок, который использует оригинальную текстуру кожи, вам нужно будет указать домен (поскольку у вашего блока не стандартный). Вместо использования <code>block/leather</code> для <code>assets/survival/textures/block/leather.png</code> вы должны добавить префикс для домена <code>game:block/leather</code>. | |||
== | == Перезапись активов == | ||
Никаких ограничений. Вы вполне можете изменить любой актив Vintage Story, используя папку домена <code>game</code>. | |||
Чтобы изменить Блоктайп кровати, вы можете поместить свой собственный JSON файл в zip архив расположенный в <code>assets/game/blocktypes/wood/bed.json</code>. Тогда Vintage Story загрузит ваш JSON-файл вместо исходного. | |||
Пакеты тем могут переопределять только ресурсы, которые не влияют на игровую механику, другие типы модов могут переопределять любой актив. | |||
== | == Доступ к активам в коде == | ||
Чтобы получить доступ к активам в коде мода, вы можете использовать [[Modding:AssetManager| Менеджер Активов]]. | |||
= | = Дальнейшее продвижение = | ||
Как только вы поймете, что такое ресурсы и как они организованы, можете перейти к вашему первому контент-моду. Перейдите к странице '''[[Modding:Basic Block | Основа блока ]]''', чтобы узнать, как сделать свой первый блок, или перейдите на страницу '''[[Modding:Basic Item |Основа предмета]]''', если вы хотите начать с создания предмета. Обе статьи, отличный способ научиться делать свой первый мод. | |||
{{Navbox/modding|Vintage Story}} | {{Navbox/modding|Vintage Story}} |
Latest revision as of 10:23, 16 January 2024
Эта страница проверялась в последний раз для версии Vintage Story 1.15.
Vintage Story загружает большую часть игрового контента из JSON файлов. Многие примеры этого можно найти в каталоге assets
внутри вашей папки с игрой. Такие вещи, как блоки, предметы, генерация мира, рецепты и т. Д., Загружаются из ресурсов во время запуска.
Находим папку assets
Все действующие ресурсы для Vintage Story видны в папке с игрой, что позволяет вам просматривать их и учиться писать свои собственные. Вы можете найти эти файлы, используя следующие методы для каждого типа ОС, на которой вы играете в Vintage Story. Если вы ищете исходный код (то есть классы C#), ваш лучший вариант - погрузиться в Vintage Story Github и просмотреть репозитории vsapi, vssurvivalmod, vsessentialsmod и vscreativemod для ссылок на классы.
Windows
Если вы используете Vintage Story в Windows, вы можете перейти к нужной папке, набрав %appdata% в строке поиска в меню пуск, и вы попадете в папку roaming вашего компьютера. Найдите папку Vintagestory
, и вы сразу же наткнетесь на папку assets, которая содержит "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
со всеми вашими активами мода внутри. Имя каталога вашего домена будет «текущим доменом» для всех активов в нем. Если в коде ресурса не указан домен, игра предположит, что он находится в текущем домене, то есть вам нужно добавить префикс домена только в том случае, если вы хотите сослаться на что-то за пределами текущего домена.
Например, если вы хотите создать новый блок, который использует оригинальную текстуру кожи, вам нужно будет указать домен (поскольку у вашего блока не стандартный). Вместо использования block/leather
для assets/survival/textures/block/leather.png
вы должны добавить префикс для домена game:block/leather
.
Перезапись активов
Никаких ограничений. Вы вполне можете изменить любой актив Vintage Story, используя папку домена game
.
Чтобы изменить Блоктайп кровати, вы можете поместить свой собственный JSON файл в zip архив расположенный в assets/game/blocktypes/wood/bed.json
. Тогда Vintage Story загрузит ваш JSON-файл вместо исходного.
Пакеты тем могут переопределять только ресурсы, которые не влияют на игровую механику, другие типы модов могут переопределять любой актив.
Доступ к активам в коде
Чтобы получить доступ к активам в коде мода, вы можете использовать Менеджер Активов.
Дальнейшее продвижение
Как только вы поймете, что такое ресурсы и как они организованы, можете перейти к вашему первому контент-моду. Перейдите к странице Основа блока , чтобы узнать, как сделать свой первый блок, или перейдите на страницу Основа предмета, если вы хотите начать с создания предмета. Обе статьи, отличный способ научиться делать свой первый мод.
![Icon Sign.png](/images/thumb/1/15/Icon_Sign.png/32px-Icon_Sign.png)
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 • Block • Block Behaviors • Block Classes • Block Entities • Block Entity 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 |