Описание[]
Теги (англ. 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.
Создание тегов[]
Добавление предметов в теги[]
Для того, чтобы создать новый тег, создайте файл 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
{"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
{"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
{"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
{"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
{"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
{
"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
файлы с описанным выше содержимым.