Основа предмета

From Vintage Story Wiki
Modding:Basic Item/ru
Jump to navigation Jump to search
This page is a translated version of the page Modding:Basic Item and the translation is 100% complete.

Во-первых, если вы этого еще не сделали, прочитайте руководство по Системе активов. Это руководство должно познакомить вас с основами использования файлов JSON для добавления предметов в игру. Если вы хотите добавить предмет с функциональностью, вам следует обратиться к учебнику для Продвинутых предметов. На этой странице содержится полный список всех свойств, которые можно определить в файле json - Свойства предметов. Добавление блока в игру аналогично добавлению предмета, поэтому, если вы уже научились это делать, большинство следующих шагов должны быть знакомы.

Простой предмет

Первое, что нам нужно, это идея. Что нужно этой игре? Подождите! Я понял ... игре нужна крутая палочка. Давайте назовем этот мод BasicItem, потому что это руководство по созданию предметов, и мы делаем палочку.

Рабочее пространство

Сначала создайте папку для размещения файлов мода, которая станет вашим рабочим пространством, где мы создадим сам мод. Нам придется добавить несколько папок в основную папку, чтобы сохранить наши файлы организованными. Мод-загрузчик Vintage Story требует, чтобы некоторые файлы были помещены в определенные папки, чтобы загрузчик мог найти то, что ему нужно для загрузки. Для этого мода все будет идти в нашей папке ресурсов пространства имен. Для нас эта папка является assets/basicwand/. Примечании: пространство имен не обязательно должно совпадать с именем мода.

Все моды, которые добавляют контент, должны находиться в папке <assets> и в своем собственном каталоге пространства имен. Пространство имен для нас это basicwand. Это соглашение предотвращает возникновение проблем у нескольких модов, использующих один и тот же код товара. Например, если вы включите расширенную информацию отладки с помощью команды .edi, вы можете заметить, что все элементы в игре имеют префикс game:, который является пространством имен для всего ванильного контента.

После того, как ваше рабочее пространство будет готово, мы можем приступить к созданию палки.

Добавление текстуры

Давайте начнем с текстуры, которую мы будем использовать: Wand.png

Чтобы использовать текстуру, нам нужно поместить ее в нужное место (чтобы загрузчик модов мог ее найти). Для этого мы создадим папку textures/item/. Помните, это находится в нашей папке с пространством имен, поэтому полный путь - assets/basicwand/textures/item/.

Создание файла предмета

Чтобы фактически создать элемент "палка", нам нужно создать файл JSON внутри папки itemtypes/. В этом примере мы назовем его wand.json. Этот файл содержит основные свойства нашего предмета.

Самый простой предмет требует двух вещей:

  • code: уникальный идентификатор элемента;
  • texture: какие текстуры применить к предмету.

Мы также должны включить это свойство, чтобы позволить нам получить доступ к нашему предмету в творческом инвентаре:

  • creativeinventory: определяет вкладки творческого инвентаря, на которых должен отображаться элемент.

На данный момент наши значения для каждого свойства просты:

  • code: wand
  • texture: item/wand (Обратите внимание, что указанный путь не включает в себя texture.)
  • creativeinventory: general

Окончательные значения нашего JSON выглядят так:

{
  code: "wand",
  creativeinventory: {
    "general": ["*"]
  },
  texture: {
    base: "item/wand"
  }
}

Вы могли заметить, что свойства creativeinventory и texture не так просты, как значения code. Причину различий в texture и creativeinventory мы не рассмотрим в этом руководстве, а обсудим в расширенных руководствах.

Наименование предмета

Теперь у нас почти все готово, кроме имени. Для этого мы создаем другой файл JSON: lang/en.json. Игра использует этот файл, чтобы найти название предмета. Языковые файлы имеют очень простой синтаксис: "item-code": "Item Name".

Для нашей палочки это означает, что наш файл должен выглядеть примерно так:

{
  "item-wand": "Wand"
}

Вывод

Вместе, файлов предметов и языков технически достаточно, чтобы быть полноценным модом. Но они не добавляют классную палочку, j которой я сказал в начале этого урока. Чтобы добавить больше свойств, мы должны перейти к руководству Продвинутый предмет, где я объясняю, как мы можем сделать вещи намного круче, чем просто создать жалкую палку.


Main Page: Modding
Basics Mod Types | Asset System | Textures | Items | Recipes | Blocks | Model Creator | Release
Advanced Setup(Windows,Linux) | Items (Code, JSON) | Blocks | Item-Block interactions | Block Behaviors | Block Entities | Particles | World Access
Worldgen Terrain | Ores | Trees | WorldGen API
Rendering Shaders and Renderers
Property Overview Item | Block | Block Behaviors | Block Classes | Block Entities | Block Entity Behaviors