NBTRecipes - простой плагин для сервера Майнкрафт, который позволяет админам добавлять кастомные рецепты крафта с NBT-тегами, именами и описаниями предметов. Всё настраивается через обычные JSON-файлы без необходимости писать код или возиться с датапаками.
Зачем нужен NBTRecipes
В ванильном Minecraft нельзя просто так взять и сделать свой рецепт, где на выходе будет предмет с кастомным названием, лорами или CustomModelData. Обычно для этого приходится писать датапаки, изучать формат рецептов Mojang и танцевать с бубном вокруг namespace. А если хочется, чтобы рецепт срабатывал только на конкретный предмет с определённым NBT-тегом - вообще беда.
NBTRecipes решает эту проблему. Вы просто кидаете JSON-файл в папку recipes, описываете ингредиенты и результат, и рецепт сразу работает на сервере. Можно указать имя предмета, описание (lore), количество и любые NBT-теги. Формат похож на тот, что используется в датапаках, так что если вы уже с ними работали - разберётесь за пару минут.
Плагин работает на Bukkit, Spigot, Paper, Purpur и Folia. Поддерживаются версии Minecraft 1.17 - 1.20.2. Кстати, если вы ищете хостинг для сервера с такими плагинами - на BungeeHost (https://bungee.host) всё ставится в один клик, и NBTRecipes там заработает без проблем.
Как использовать
Все рецепты кладутся в папку recipes внутри папки плагина. Можно раскидывать их по подпапкам для удобства - плагин автоматически просканирует все вложенные директории и добавит относительный путь в namespaced key рецепта.
Чтобы создать рецепт, просто сделайте текстовый файл с расширением .json и положите его в recipes. Откройте любым текстовым редактором и опишите рецепт по примерам ниже.
Конфигурация
В конфиге плагина можно поменять namespace для ваших рецептов и все сообщения. Namespace может содержать только символы: a-z, 0-9, _, -, /.
Команды
| Команда | Описание | Право |
|---|---|---|
/nbtrecipes reload | Перезагружает рецепты и конфиг | nbtr.command |
/nbtrecipes list | Показывает все рецепты плагина | nbtr.command |
Примеры рецептов
Ниже разберём основные типы рецептов с примерами.
Предмет (Item)
Объект предмета используется как в ингредиентах, так и в результате. Большинство полей опциональны - обязателен только material.
Если указан только material и никаких метаданных (имя, лор, NBT), предметы сравниваются просто по материалу. Но если метаданные есть, сравнение идёт точное (EXACT).
Триггер открытия (Discover Trigger)
Поле discover позволяет сделать рецепт открываемым - игрок увидит его в книге рецептов только после того, как поднимет указанный предмет. Если поле не указано, рецепт виден сразу.
Форменный рецепт (Shaped Recipe)
Работает в верстаке и инвентарной крафтовой сетке.
{
"type": "crafting_shaped",
// Паттерн крафта. Массив должен состоять из:
// - двух элементов по два символа для сетки инвентаря
// - трёх элементов по три символа для верстака
"pattern": [
" D",
" D ",
"S "
],
// Ключ к паттерну
"key": {
"S": [
// Для одного ингредиента можно указать несколько вариантов
// Если есть метаданные (имя/лор/NBT) - сравнение точное
{ "material": "stick" },
{ "material": "blaze_rod" }
],
"D": { "material": "diamond" }
},
// Результат
"result": {
"material": "diamond_sword",
"amount": 1,
"name": "Diagonally Crafted Diamond Sword",
"lore": [
"As the name suggests..."
],
"nbt": "{CustomModelData: 2}"
},
// Триггер открытия. Опционально
"discover": {
"items": [
{ "material": "diamond" }
]
}
}
Бесформенный рецепт (Shapeless Recipe)
Тоже работает в верстаке и инвентаре, но порядок ингредиентов не важен.
{
"type": "crafting_shapeless",
"ingredients": [
[
{ "material": "oak_log" },
{ "material": "spruce_log" },
{ "material": "birch_log" },
{ "material": "jungle_log" },
{ "material": "acacia_log" },
{ "material": "dark_oak_log" },
{ "material": "mangrove_log" },
{ "material": "cherry_log" }
],
{ "material": "flint_and_steel" }
],
"result": { "material": "charcoal" },
"discover": {
"items": [
{ "material": "oak_log" },
{ "material": "spruce_log" }
]
}
}
Рецепты плавки (Smelting)
Поддерживаются обычная печка, плавильная печь, коптильня и костёр.
{
// Тип: smelting, blasting, smoking или campfire_cooking
"type": "smelting",
"input": [
{ "material": "diamond_helmet" },
{ "material": "diamond_chestplate" },
{ "material": "diamond_leggings" },
{ "material": "diamond_boots" }
],
"result": { "material": "diamond" },
// Опыт за плавку. Опционально
"experience": 0.7,
// Время плавки в тиках. Опционально
"cooking_time": 200,
"discover": {
"items": [
{ "material": "diamond_helmet" }
]
}
}
Все типы плавки работают по одной схеме:
smelting- обычная печкаblasting- плавильная печьsmoking- коптильняcampfire_cooking- костёр
Поля experience, cooking_time и discover - опциональны.
Кузнечный рецепт (Smithing)
Работает на кузнечном столе.
{
"type": "smithing",
// Базовый предмет, который улучшаем
"base": { "material": "iron_pickaxe" },
// Шаблон улучшения. Работает только на 1.20+
"template": { "material": "air" },
// Дополнительный материал
"addition": { "material": "diamond" },
// Результат. Метаданные не поддерживаются - копируются с base
"result": { "material": "diamond_pickaxe" },
"discover": {
"items": [
{ "material": "iron_pickaxe" }
]
}
}
Важно: метаданные (имя, лор, NBT) для результата кузнечного рецепта не работают - они копируются напрямую с базового предмета.
Совместимость и версии
Плагин поддерживает Minecraft Java 1.17 - 1.20.2 и работает на серверах Bukkit, Spigot, Paper, Purpur и Folia. Последняя версия плагина - 1.1.2 от октября 2023 года. В ней добавили поддержку подпапок для рецептов, смену namespace и команду /nbtrecipes list. Обновлений под версии новее 1.20.2 пока не было.
Важно знать
- Если в ингредиенте указаны метаданные (имя, лор или NBT), сравнение идёт точное. Предмет должен полностью совпадать, иначе рецепт не сработает.
- Для кузнечных рецептов на версиях ниже 1.20 поле
templateигнорируется. - Плагин не требует от игроков ничего устанавливать - всё работает на стороне сервера.
Скачать NBTRecipes стоит тем, кто хочет быстро добавить на сервер кастомные крафты без заморочек с датапаками. Особенно полезен для RP-серверов и проектов с уникальными предметами через CustomModelData.
Сервер для плагина NBTRecipes - как у профи
Плагин NBTRecipes создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином NBTRecipes для друзей можно за пару минут - BungeeHost всё уже подготовил.

