Создание первого предмета

**Эта функция является дополнительной**,

Это значит, что вам нужно включить экспериментальные функции для работы с этим функционалом, а именно:
**Возможности создателя праздника**

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

## Старт

Предметы - важная часть Майнкрафта. Если вы только начали свой путь в познании аддонов, то мы настоятельно рекомендуем к прочтению данное руководство.

Для создания полноценного предмета потребуется редактировать набор параметров и набор ресурсов. Для начала откроем набор параметров и создадим папку items. В ней будут храниться JSON файлы предметов. Создадим один файл json с любым названием.

```
**Содержимое файла JSON**

```

```
{
 "format\_version": "1.12",
 "minecraft:item": {
 "description": {
 }
 }
}

```

Абсолютно любой файл типа json имеет начальные и конечные фигурные скобки, как и здесь. Далее имеется пара с именем "format\_version" и значением версии. "format\_version" отвечает за минимальную версию для открытия аддона. Если вы установите слишком маленькую цифру версии, то некоторые возможности, доступные сейчас, могут стать недоступными.

Далее имеется пара с именем "minecraft:item", значением же является фигурная скобка. Эта пара показывает то, за что отвечает данный файл. "minecraft:item" это имя для создания предмета.

"description" - пара, в значении которой будет находится начальная информация о предмете.

```
 "description": {
 "identifier": "custom:name",
 "category": "items"
 },

```

Внутри description имеется две пары имени и значения. "identifier" - определяет идентификатор для предмета, это то, как вы называете предмет при выдаче командой /give. Обычно ванильные предметы имеют приставку в виде 'minecraft:', для удобства вы можете придумать свою приставку, чтобы можно было быстро найти ваши предметы. К примеру назвав свой предмет "custom:food".
"category" - отвечает за категорию. В нашем случае это предмет.

## Настройка предмета

"description" отвечает за базовую настройку предмета. Основной же настройкой предмета занимается "components". В значении этого имени хранятся главные свойства предмета.

```
 "description": {
 "identifier": "custom:name",
 "category": "items"
 }, // Соблюдайте запятые после
 "components": {
 "minecraft:hand\_equipped": true // Компонент
 }

```

Сам по себе "components" в своём значении содержит так называемые компоненты. Существует огромное множество компонентов: компоненты для еды, для длительности использования, для количества стака и т.д.

Компонент, который мы видим в отрезке кода это "minecraft:hand\_equipped". Он определяет, можно ли взять предмет в руку. Если true(правда), то можно, а если false(ложь), то естественно нет.

Компоненты перечисляются через запятую и обычно имеют приставку 'minecraft:', подразумевая их принадлежность к игре.

Некоторые из компонентов предмета
```
 "minecraft:icon": "custom\_name"

```
"minecraft:fuel": {
 "duration": 50
 }

```

В нашем случае мы попробуем создать новый вид еды, используя компонент "minecraft:food".

```
 "components": {
 "minecaft:use\_duration": 28
 "minecraft:food": {
 "nutrition": 4,
 "saturation\_modifier": "low"
 }
 }

```

В данном коде мы использовали компонент для еды. Он имеет малую сытость и 4 очка питания.
Компонент "minecraft:use\_duration" назначает время поедания (использования) предмета.

## Внешний вид

**Примечание**

Начиная с новых версий создание файла набора ресурсов для предмета **не имеет необходимости.** Теперь вся информаци располагается в файле набора параметров. Набор ресурсов не требуется только в том случае, если в "format\_version" указана версия 1.16.100-1.16.200 или выше

Мы отредактировали набор параметров, самое время зайти в набор ресурсов, чтобы создать текстуры и анимации для предмета.

Зайдите в набор ресурсов и создайте папку items. Весь код идентичен прошлому, но с измененными компонентами. Здесь компонентами мы будем изменять текстуры и анимации предмета.

```
**Содержимое файла в Наборе ресурсов**

```

```
 {
 "format\_version": "1.12",
 "minecraft:item": {
 "description": {
 },
"components": {
 "minecraft:icon": "custom\_name",
 "minecraft:use\_animation": "eat"
 }
 }
}

```

В данном файле имеется два компонента.

"minecraft:icon" - отвечает за иконку предмета. Вы можете использовать любое название, после чего в нужном файле настроим его.

"minecraft:use\_animation" - отвечает за анимацию использования, в нашем случае поедание, "eat". Всего анимаций несколько: "bow", "crossbow", "drink", "camera".

Для создания текстур создаём папку "textures", а в ней папку "items", куда попадет наша текстура.. Но не всё так просто. В папке "textures" создаём файл "item\_texture.json".

```
**item\_texture.json**

```

```
{
 "resource\_pack\_name": "name",
 "texture\_name": "atlas.items",
 "texture\_data": {
 "custom\_name": { // Имя
 "textures": "textures/items/gem" // Путь
 } // Если нужна текстура другого предмета
 } // Ставим запятую
}

```

Этот файл - атлас, он укажет, что наша текстура находится в файле "items". Как вы помните, мы назвали нашу текстуру в компоненте "minecraft:icon". Это имя мы и будем использовать.

"resource\_pack\_name" - ни на что не влияет, можно поставить своё имя.

"texture\_name" - тип текстуры, в нашем случае это атлас, который сначало перечисляет названия,а потом путь к текстуре.

"texture\_data" - пара, в значении которой хранятся все имена, которые мы вписали в компонент "minecraft:icon".

Далее нужно вписать это имя, а после чего и путь к предмету по файлам.

Отлично, наш предмет готов! Но это ещё не всё!

## Локализация

Для определения видимого имени для предмета в игре. Создайте файл "texts" в наборе ресурсов, там создайте файл en\_US.json

```
**Набор Ресурсов/texts/en\_US.json**

```

```
 item.custom:item.name = "Имя первого предмета"
 item.custom:item.name = "Имя второго предмета"

```

Структура такова. item.ИДЕНТИФИКАТОР ПРЕДМЕТА.name="Имя".

Если вы хотите продолжить изучение предметов или создать своего моба, то рекомендуем следующие руководства:

* Создание первого моба
* Предметы 1.16.100+
* Создание первого блока