Forge теги

## Описание

**Теги** (англ. **tag** - метка, бирка, ярлык) в Minecraft вообще - это система, позволяющая группировать предметы, блоки (блоками считаются именно поставленные в мире блоки; блоки, лежащие в инвентаре, относятся к предметам), жидкости, функции, биомы и другие вещи с помощью `.json` файлов. Система тегов была добавлена в версии 1.13. Теги используются и в обычном Minecraft, например, тег `minecraft:anvil` объединяет три наковальни: `minecraft:anvil`, `minecraft:chipped_anvil` и `minecraft:damaged_anvil`, а `minecraft:banners` - 16 флагов разных цветов.

Теги Forge объединяют различные предметы, которые в немодифицированной игре объединять не нужно, например, потому что существует только один вариант предмета (такие как железный слиток), но объединение которых в модифицированной игре может сильно упростить жизнь игрокам. Например, очень много модов добавляют в игру оловянные слитки, и если бы слитки из каждого мода могли использоваться только в этом самом моде, их сортировка и использование были бы очень сложными и запутанными. Но если автор мода добавит оловянный слиток в тег `forge:ingots/tin`, он сможет использоваться во всех рецептах всех других модов, если их авторы тоже добавили поддержку тегов.

Подобная система в Forge существовала и до 1.13, но тогда она была гораздо менее удобной.

## Использование тегов

В ванильной игре вы можете посмотреть вещи с тегами в обычном меню поиска, вставив в строку символ **#**, а после него название тега, но это не очень удобно, поэтому, если у вас установлены JEI и Geolosys, вы можете проделать аналогичные действия в строке поиска первого из них (но иногда это почему-то может не сработать, и мод будет писать, что не нашёл искомых предметов, в таком случае попробуйте включить **F3 + H** или перезапустить игру, возможно, это поможет).

При обычной игре теги предметов не отображаются, но это можно исправить, установив специальные моды, например, Better Tips, Cucumber, Geolosys или REI.

Теги медного слитка из SM.Использование разных медных и оловянных слитков для создания блока из SM.Поиск всех слитков в ванильном меню.Поиск всех слитков в JEI.JEI не может найти предметы по тегу.Просмотр всех тегов предмета с помощью ванильного поиска без необходимости искать блок в самом меню поиска.
## Создание тегов

### Добавление предметов в теги

Для того, чтобы создать новый тег, создайте файл json в указанной ниже папке, где **forge** - это пространство имён (то, что нужно писать перед двоеточием, и сюда можно написать **minecraft** или любое другое слово, но вы должны это учитывать, когда будете использовать эти теги), **my\_mod\_1.0.jar** - это файл мода, добавляющего теги, а **mymod** - пространство имён и id этого мода.

Каждый предмет нужно добавить в общий тег типа предметов, например, `ingots`, `storage\_blocks`, `gems` или `rods`, и в отдельный тег материала, находящийся внутри него. Теги блоков, такие как `storage\_blocks` или `ores`, нужно добавлять и к предметам (в папку **items**), и к блокам (в папку **blocks**) для правильного взаимодействия с другими модами. Если руда (или предмет с другой категорией для блоков) не является блоком, как образцы из Geolosys, добавлять её нужно только в тег предметов. *Если всё это показалось вам слишком запутанным, можете зайти в файлы какого-нибудь мода с тегами, например Mekanism или Silent's Mechanisms, и изучить их теги.*

Некоторые моды не добавляют предметы в общий тег, что не очень правильно, потому что такие предметы не могут быть использованы в рецептах, где используются эти теги (например, `forge:ingots` может использоваться для отливания прессовочной формы в форме слитка (тавтология), где материал не важен).

В рассматриваемом ниже примере в тег `forge:ingots` добавляются изумрудный, алмазный и супер-слиток из мода MyMod. Также создаются файлы тегов для каждого отдельного слитка, где **\ingots\** - это обычная папка, а не, например, файл `.jar`.

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

Чтобы предметы могли использоваться в крафтах и подобных вещах в инвентаре, нужно добавлять теги в папку **items**, даже если это блоки. Использовать **blocks** нужно для группировки поставленных в мире блоков, например блоки с тегом `minecraft:enderman_holdable` может поднимать эндермен.

`my_mod_1.0.jar\data\forge\tags\items\ingots.json`
`my_mod_1.0.jar\data\forge\tags\items\**ingots.json**`
⠀Файл: **ingots.json**
✖⠀
`{"values":["mymod:emerald\_ingot","mymod:diamond\_ingot","mymod:super\_ingot"]}`
`my_mod_1.0.jar\data\forge\tags\items\ingots\emerald.json`
`my_mod_1.0.jar\data\forge\tags\items\ingots\**emerald.json**`
⠀Файл: **emerald.json**
✖⠀
`{"values":["mymod:emerald\_ingot"]}`
`my_mod_1.0.jar\data\forge\tags\items\ingots\diamond.json`
`my_mod_1.0.jar\data\forge\tags\items\ingots\**diamond.json**`
⠀Файл: **diamond.json**
✖⠀
`{"values":["mymod:diamond\_ingot"]}`
`my_mod_1.0.jar\data\forge\tags\items\ingots\super.json`
`my_mod_1.0.jar\data\forge\tags\items\ingots\**super.json**`
⠀Файл: **super.json**
✖⠀
`{"values":["mymod:super\_ingot"]}`

Ещё в общий тег предметы можно добавлять таким способом, но он также добавит в тег все предметы из всех других модов, у которых этого общего тега нет (хорошо это или плохо - решайте сами):

`my_mod_1.0_2.jar\data\forge\tags\items\ingots.json`
`my_mod_1.0_2.jar\data\forge\tags\items\**ingots.json**`
⠀Файл: **ingots.json**
✖⠀
`{"values":["#forge:ingots/emerald","#forge:ingots/diamond","#forge:ingots/super"]}`
### Использование тегов в рецептах

Для того, чтобы использовать теги в рецептах, впишите их как обычные ингредиенты, но с **tag** вместо **item** *(и без **#**)*.

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

`my_mod_1.0.jar\data\mymod\recipes\super\_sword.json`
`my_mod_1.0.jar\data\mymod\recipes\**super\_sword.json**`
⠀Файл: **super\_sword.json**
✖⠀
`{
 "type": "minecraft:crafting\_shaped",
 "pattern": [
 " A ",
 "III",
 " S "
 ],
 "key": {
 "A":
 "item": "minecraft:compass"
 },
 "I": {
 "tag": "forge:ingots/super"
 },
 "S": {
 "tag": "forge:rods/wooden"
 }
 },
 "result": {
 "item": "mymod:super\_sword"
 }

}`
## В MCreator

Чтобы создать тег, нажмите на кнопку "**Связка**" в меню создания новых предметов. В открывшейся вкладке в верхней строчке напишите название тега (в игре, а не в MCreator), в средней - пространство имён, а в нижней - тип тега (предмет, блок или другое). В панели выбора предметов выберите все предметы, к которым должен быть добавлен этот тег.

Чтобы использовать тег в рецептах, в окне выбора предмета для рецепта снизу нажмите кнопку "**Использовать связку**", и в открывшемся окне напишите название нужного тега с пространством имён и без **#**.

Вы также можете открыть папку
`**\*папка mcreator'а с модом*\src\main\resources\data\*пространство имён*\tags\*тип тега*\**`
и вручную вставить в неё `.json` файлы с описанным выше содержимым.