Перейти к публикации

MineTweaker3/CraftTweaker | ModTweaker | ContentTweaker [1.7.10]


Nukio

Рекомендованные сообщения

Руководство по MineTweaker3 | CraftTweaker

Название гайда было обновлено, т.к. были добавлены разделы о ModTweaker и ContentTweaker. Раньше название было просто "MineTweaker3 [1.7.10]"

MineTweaker3 используется для удаления, добавления и редактирования различных рецептов (верстак и печь), содержаний сокровищниц, переименований предметов и добавлений описаний им.

Это заготовка для гайда, она в процессе доработки.
Если хотите, напишите мне в личные сообщения на форуме что можно добавить в гайд,
ну, или если будут вопросы по нему или этому моду, помогу с чем смогу.

Как можно использовать эти возможности?
Например, при создании своей сборки модов, можно удалить рецепт предмета, который вы не хотите чтобы был использован,
чтобы не удалять весь мод целиком, просто чтобы конкретный предмет нельзя было создать,
либо, для усложнения, сделать переплетение крафтов, например, чтобы для создания печи из Witchery нужно было
сначала изучить Botania, потому что в крафт печи вы добавили какой-то предмет из неё.
Можно добавить новые предметы в то или иное обозначение из словаря руд.

Если Вы создаёте скрипты с рецептами для сервера, то помните, что рецепты должны быть на серверной стороне, а также можно сделать так,
чтобы определённые рецепты были доступны только в определённом сохранении (имеется в виду мир, НЕ измерение).

MineTweaker3 добавляет 2 папки для скриптов, основная папка называется scripts и находится в
C:\Users\Имя пользователя\AppData\Roaming\.minecraft папке по умолчанию, а папка для крафтов в определённом сохранении тоже называется scripts,
но находится она в каталоге сохранения игры C:\Users\Имя пользователя\AppData\Roaming\.minecraft\saves\Название мира
Файлы, которые находятся в папках scripts, могут быть с любым названием, но они обязательно должны быть с расширением .zs,
т.к. только так они будут считаться скриптами и автоматически выполняться при запуске игры.

НО если Вы используете CraftTweaker, учтите пожалуйста, ничего постороннего не должно быть в папке с скриптами, там должны быть только файлы с расширением .zs, даже пустых папок нельзя оставлять там, иначе просто в мир не пустит!
Цвет названия похоже можно сменить только через CraftTweaker. Использовать одновременно CraftTweaker и MineTweaker не получится, игра их за один мод воспринимает.
Функции у них вроде почти одинаковы, поэтому можно использовать CraftTweaker вместо MineTweaker'а.

Касательно серверных и клиентских скриптов – скрипты, которые используются на стороне сервера, автоматически отправляются клиенту, при его подключении к серверу, а
когда клиент выходит, все скрипты у него откатываются назад, НО они не появляются в папке у клиента, они просто применяются у него сразу, так что
посмотреть присланные скрипты с сервера не получится, что сделано для сервера, то остаётся на сервере.
Таким образом используются серверные скрипты и беспокоиться о синхронизации не надо.

Официально (ну, по крайней мере на CurseForge) MineTweaker3 есть
на версии Minecraft’а – 1.6.4, 1.7.2, 1.7.10, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8.
А CraftTweaker на версии Minecraft’а – 1.3.2, 1.7.10, 1.8.8, 1.8.9, 1.9, 1.9.4, 1.10.2, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.14.4, 1.15.1, 1.15.2, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17.1, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4
Насколько я знаю, CraftTweaker это вроде бы продолжение MineTweaker'а. (если это не так, пожалуйста, поправьте меня)
Для просмотра рецептов в игре используйте NEI (на версии 1.7.10 точно нужен будет) или JEI (на версии 1.8 и выше).

И, пожалуйста, не путайте MineTweaker (мод) с модом ModTweaker (аддон к MineTweaker/CraftTweaker для взаимодействия с рецептами большего кол-ва модов)
MineTweaker3 может изменять некоторые рецепты в следующих модах:
BetterStorage, BloodMagic, BuildCraft, GregTech, Harvest Festival, IC2, Immersive Engineering, Magneticraft, MineFactory Reloaded, NEI, Tinkers' Steelworks, Witching Gadgets.

А ModTweaker может изменять некоторые рецепты в следующих модах:
Applied Energistics 2, Aura Cascade, Botania, Chisel 2, Ex Nihilo, Extended Crafting, Extra Utilities, Factorization, Forestry, Mariculture, Mekanism, Metallurgy 4, PneumaticCraft, Railcraft, Thaumcraft 4, Thermal Expansion, Tinker's Construct.

А также есть ещё ContentTweaker, он нужен для добавления новых предметов, блоков и новых вкладок в креативе.
(на момент написания этого гайда)

Часть примеров кода, как и вся информация в этом гайде была взята с заархивированной версии вики самого мода,
этот гайд попытка своими словами изложить всю информацию что есть на вики.
Ссылка на заархивированную версию вики есть внизу в комментариях к моду MineTweaker3,
искать мод рекомендуется через поиск браузера примерно по такому запросу: MineTweaker3 CurseForge

- - -

Шпаргалка с готовыми частями кода на будущее:

Скрытый текст

Комментарии:
print("Testing"); – для выведения определённой надписи в minetweaker.log, текст в ней обязательно должен быть на английском

// Однострочный комментарий

# Ещё один вид однострочного комментария

/* Это
многострочный
комментарий */
 

Верстак – добавление и взаимодействие с рецептами:
recipes.addShaped(<срочный ID> * 4, [[<строчный ID>, null], [<строчный ID>, null]]); – форменный рецепт
recipes.addShaped(, [[, , ], [, , ], [, , ]]);

recipes.addShapeless(<строчный ID>, [<строчный ID>]); – бесформенный рецепт
recipes.addShapeless(, []);

* 4 после скобок с предметом, который собираетесь скрафтить – сколько создастся предмета, в нашем случае 4 шт., если не добавлять * и число,
то создастся лишь 1 шт.

null – это обозначение пустого слота в рецепте

minecraft:planks:* – если у предмета есть разные метаданные, а вы хотите чтобы при крафте игнорировались метаданные то это вам поможет, метаданные есть,
например, у стекла (покрашенные версии), так вот, для того чтобы использовались все виды досок под строчным ID minecraft:planks, игнорируя метаданные и
используется этот " * " символ, если Вам нужна конкретная мета, вместо * пишите нужное Вам число меты.
Если вы не указываете конкретную мету или её игнорирование, то выбирается автоматически 0-я мета, в случае досок – это обычные дубовые доски.

ore:blockGlass – у обычного и покрашенного разные строчные ID, поэтому используется именно словарь руд.

recipes.addShapedMirrored – добавить отзеркаленный рецепт, чтобы рецепт работал, даже если выложить его в отзеркаленном виде в верстаке

var имя, которое Вы сами присваиваете = <строчный ID>; 

val имя, которое Вы сами присваиваете = <строчный ID>;
Если присваивать имя через var, то значение имени можно изменить потом ниже, например, присвоенное имя = <другой строчный ID>,
а с val так не перепривязать на уже присвоенное имя другой строчный ID.

var anyCoal = <minecraft:coal:*>; – присвоение имени с игнорированием меты
Присвоенные имена можно потом использовать вместо строчного ID:

recipes.addShaped(<строчный ID, например, инструмента>, [[присвоенное имя], [другое присвоенное имя]);
var pickaxe = <minecraft:stone_pickaxe>.anyDamage(); – привязка предмета с любой прочностью, даже если он не полностью починенный

<строчный ID>.withDamage(сколько будет отнято прочности); – создание предмета, у которого изначально будет потрачено какое-то кол-во прочности

Теги:
Используя .withTag и .onlyWithTag можно сделать рецепт, который создаёт предмет с определённым описанием и именем,
и принимает предмет только с определённым описанием и именем, например:

val stick = <minecraft:stick>;
val pick = <minecraft:stone_pickaxe>;
val damagedPick = pick.withDamage(10);
val stickedPick = pick.withTag({display: {Name: "Sticked pick", Lore: ["This pick", "Has been sticked"]}});

recipes.addShaped(damagedPick, [[pick, stick]]);
recipes.addShaped(stickedPick, [[pick, stick], [stick, stick]]);

val stonedPick = pick.withTag({display: {Name: "Stoned pick", Lore: ["This pick", "Has been experimenting too much"]}});
val onlyStickedPick = pick.onlyWithTag({display: {Name: "Sticked pick"}});
val cobble = <minecraft:cobblestone>;
recipes.addShaped(stonedPick, [[onlyStickedPick, cobble], [cobble, cobble]]); – добавляется рецепт 2-х кирок с разными именами и описания, и выставлено
обязательное условие: для крафта кирки с именем Stoned pick в крафте обязательно должна использоваться кирка с именем Sticked pick
(onlyStickedPick = pick.onlyWithTag({display: {Name: "Sticked pick"}});), но, аккуратней, в NEI не отображается, какое имя должно быть у предмета,
когда для крафта предмета с определённым именем нужен другой предмет с определённым именем.
Учтите что если переименовать предмет через наковальню в нужно имя, то рецепт тоже примет такой предмет.
Пожалуйста учтите, что .withTag выводит указанный тег, а .onlyWithTag используется для приёма уже созданного тега.

То есть принять тег через .withTag не получится, т.к. он наоборот нужен для отправки тега.

<строчный ID>.onlyDamaged(); – принимает только повреждённые предметы;
<строчный ID>.onlyDamageAtLeast(20); – принимает только предметы с повреждениями не менее 20;
<строчный ID>.onlyDamageAtMost(50); – принимает только предметы с повреждениями не более 50;
<строчный ID>.onlyDamageBetween(10, 80); – принимает предметы с повреждениями от 10 до 80.
Но работать у меня с ними не получилось, позже поищу более наглядный пример их использования.

Если хотите, можете добавить сразу несколько условий для предмета:
<строчный ID>.onlyDamage().onlyWithTag({display: {Name: "Name"}});

Возврат предметов после крафта:
recipes.addShapeless(<minecraft:wooden_slab:0> * 2, [<minecraft:iron_axe>.reuse(), <minecraft:planks:0>]);  – добавление бесформенного рецепта создания
2-х дубовых плит из целого железного топора, который после крафта просто возвращается и дубовой доски.

recipes.addShapeless(<minecraft:wooden_slab:0> * 2, [<minecraft:iron_axe>.anyDamage().transformDamage(), <minecraft:planks:0>]); – добавление бесформенного рецепта,
при котором подойдёт железный топор любой прочности и после крафта ему будет нанесено повреждение, по умолчанию наносится по 1 единице,
если Вам нужно другое конкретное число, впишите это число в скобки transformDamage'а.

recipes.addShapeless(<minecraft:stonebrick:1>, [<minecraft:stonebrick:0>, <minecraft:water_bucket>]); – пустое ведро возвращается в инвентарь после крафта.

recipes.addShapeless(<строчный ID>, [<строчный ID>, <строчный ID ведра с жидкостью>.transformReplace(<minecraft:bucket>)]); – после крафта пустое ведро
остаётся на месте ведра жидкости в сетке крафта.

recipes.addShapeless(<строчный ID>, [<строчный ID>, <строчный ID ведра с жидкостью>.noReturn()]); – чтобы пустое ведро вообще не возвращалось

recipes.addShapeless(<minecraft:stonebrick:1>, [<minecraft:stonebrick:0>, <minecraft:water_bucket>.giveBack(<minecraft:iron_ingot> * 3)]); – возврат ведра в виде
3-х железных слитков в инвентарь после крафта, то есть после крафта, в этом примере, ведро пропадёт, а вместо него вернуться 3 железных слитка в инвентарь.
Если вы используя .giveBack не желаете чтобы возвращался другой предмет, то просто оставляете скобки пустыми, вот так: .giveBack()

Добавление починки инструмента через крафт:
Главное аккуратней с скобками, их там довольно много и из-за этого легче запутаться.
Пустая форма выглядит так:
recipes.addShapeless(<строчный ID>, [<строчный ID>.anyDamage().marked("N"), <строчный ID>], function(output, inputs, crafting) {return inputs.N.withDamage(max(0, inputs.N.damage - 25));});
в первом строчном ID результат крафта, второй строчный ID из чего будет крафтиться, поскольку сейчас речь о починке инструмента, то там записываете инструмент,
и .anyDamage чтобы можно было использовать поломанный инструмент, .marked("N") метка на тот предмет, который хотите починить
(она отображается только в скрипте). В inputs. пишется имя маркера, потом (max(0, inputs.N.damage - 25),
то есть мы говорим рецепту, что речь будет об повреждении на инструменте (withDamage), max 0 записывается чтобы не было ошибки,
прими отмеченный предмет и подлатай кирку на 25 прочности, мол damage = урон, то есть отнять столько-то полученного урона.
 

Верстак – удаление рецептов:
recipes.removeShaped(<minecraft:stick>, [[<minecraft:planks:*>], [<minecraft:planks:*>]]); – если рецептов одного и того же предмета несколько,
через такую форму можно удалить конкретный рецепт, в () скобки пишется сам рецепт.

recipes.removeShaped(<minecraft:stick>, [[<*>], [<*>]]); – тоже самое что и выше, но * означают что там может быть любой предмет

recipes.removeShaped(<minecraft:stick>); – удалить все форменные рецепты этого предмета

recipes.removeShapeless(<minecraft:stick>); – удалить все бесформенные рецепты этого предмета

recipes.removeShapeless(<minecraft:wool:*>, [<minecraft:wool>, <ore:dye>]); – можно использовать словарь руд, при удалении рецепта

recipes.remove(<minecraft:stick>); – удалить все рецепты этого предмета

Удаление рецепта по словарю руд:
recipes.addShaped(<minecraft:apple>, [[<ore:nuggetGold>]]);
recipes.addShaped(<minecraft:diamond>, [[<ore:nuggetGold>]]);
recipes.removeShaped(<*>, [[<ore:nuggetGold>]]); – удалить любые форменный рецепты, в которых используется запись золотых самородков словаря руд, при
использовании <*>, пожалуйста, учтите то что сотрутся добавленные рецепты всех предметов, в которых использовалась указанная запись словаря руды.
Интересный факт: запись словаря руд, в которой добавлен только один предмет, считается эквивалентной этому предмету (в отличии от MineTweaker2)

Словарь руд – добавление предметов в запись, объединение записей и создание своей записи в словаре руд
Добавление предмета в уже существующую запись в словаре руд:
val Copper = <ore:ingotCopper>;
val Tin = <ore:ingotTin>;
val Iron = <ore:ingotIron>;
Iron.add(<IC2:itemIngot:3>);
recipes.addShaped(<IC2:itemRecipePart:6>, [[Copper, Copper, Copper], [Tin, Iron, Tin], [Copper, Copper, Copper]]); – добавление альтернативного крафта медного котла из
6-ти медных слитков, 2-х оловянных и одного железного и добавление слитка закалённого железа в запись железо в словаре руд,
это значит что его можно будет использовать вместо железного слитка.

Объединение 2-х записей словаря руд:
<ore:dustTinyGold>.addAll(<ore:nuggetGold>);
<ore:nuggetGold>.mirror(<ore:dustTinyGold>); – добавление возможности использовать небольшую кучку золотой пыли в качестве золотого самородка,
во всех крафтах, которые были добавлены игроком.

Создание своей записи в словаре руд:
При добавлении предметов в запись словаря руд, без разницы существует ли та или иная запись в словаре руд или нет.
val Coals = <ore:coal>;
Coals.add(<minecraft:coal:*>);

val Iron = <ore:ingotIron>;
val Steel = <IC2:itemIngot:3>;
recipes.addShaped(Steel, [[Iron, Coals]]); – добавление крафта слитка закалённого железа из железного слитка и любого предмета из созданной вручную записи словаря руд, куда был добавлен весь уголь из Minecraft'а (каменный и древесный)

Словарь руд – удаление предметов из существующей записи словаря руд
Iron.remove(<minecraft:iron_ingot>); – удаление железного слитка из записи железа в словаре руд.
 

Печь – добавление рецептов
Рецепты переплавки:
furnace.addRecipe(<minecraft:coal:0>, <minecraft:coal:1>, 0.5); – добавление рецепта переплавки древесного угля (<minecraft:coal:1>) в обычный (<minecraft:coal:0>),
после которого выдаётся немного опыта (0.5).
Рецепты топлива:
furnace.setFuel(<minecraft:rotten_flesh>, 100); – добавление гнилой плоти в качестве топлива, которое будет гореть 100 тиков (в одной секунде 20 тиков).
Функции по установке времени горения топлива можно использовать и для уже существующего топлива, чтобы изменить его время горения,
НО ЕСТЬ ИСКЛЮЧЕНИЕ – ванильное топливо, время горения ванильного топлива жёстко закодировано и не может быть изменено.

Печь – удаление рецептов:
Рецепты переплавки:
furnace.remove(<minecraft:gold_ingot>); – удаление рецепта по получению золотого слитка через печь.
furnace.remove(<*>, <minecraft:gold_ore>); – удаление рецепта переплавки золотой руды.

Рецепты топлива:
furnace.setFuel(<minecraft:rotten_flesh>, 0); – для удаления предмета в качестве топлива
 

Добавление описаний и названий к предметам и их форматирование/покраска:
Аккуратно, в именах/описаниях используются только латинские символы (речь, например, о английском), поскольку для записи используется ASCII,
а для того чтобы использовать кириллицу нужно перевести текст в Unicode код (этот код выглядит как набор примерно таких элементов: \u041f и т.д.),
для перевода текста можно использовать, например, другие сайты, например, точно подходит сайт native2ascii

Изменение названий с помощью NEI:
Учтите, некоторые названия нельзя изменить с помощью файлов локализации,
это значит что их нельзя изменить с помощью .displayName, но если установлен NEI,
можно попробовать использовать NEI.overrideName,
это вроде бы помогает в таких случаях, это просто пример кода:
import mods.nei.NEI;
NEI.overrideName(<
minecraft:gold_ingot>, "Shining Ingot");
Теперь, пока установлен NEI, золотой слиток будет подписан как Shining Ingot.

Добавление всплывающей подсказки, при наводке:
.addTooltip("");
<minecraft:gold_block>.addTooltip("It's a brilliance!"); – добавление описания конкретно к золотому блоку.
<ore:blockGold>.addTooltip("It's a brilliance!"); – добавление описания ко всем предметам, которые находятся в конкретной записи словаря руд.
Если применить добавление подсказки к одному и тому же предмету, будет добавлено сразу 2 подсказки,
верхней будет та, что первая в коде, вторая та что вторая и т.д.

Добавление скрытой подсказки, при использовании Shift:
.addShiftTooltip("");
<minecraft:iron_ingot>.addShiftTooltip("Use button Shift to discover"); – добавление железному слитку скрытого описания,
которое отобразиться, если навести на него и зажать Shift.

Изменение формата текста и его покраска:
<minecraft:gold_ingot>.addTooltip(format.gold("Add a little shine")); – добавление описания золотого цвета

Можно комбинировать разные цвета и разное форматирование текста (курсив, подчёркнутость и т.д.), но это немного сложнее,
т.к. надо внимательно следить за скобками, сначала записывается цвет, а потом форматирование, например:
<minecraft:golden_shovel>.addTooltip(format.darkAqua(format.obfuscated("Obfuscated") + format.bold(" Bold")) + format.darkGreen(format.strikethrough(" Strikethrough") + format.underline(" Underline") + format.italic(" Italic")) + " Normal"); – добавление описания тёмно-синего и тёмно-зелёного цвета, в котором используются разные форматирования.

Учтите, использовать внутри "" кавычек ещё одни кавычки нельзя: <minecraft:iron_ingot>.addShiftTooltip("Use button "Shift" to discover");
но есть лазейка, если использовать 2 ' апострова подряд, то они будут немного похожими на обычные двойные кавычки ''
<minecraft:iron_ingot>.addShiftTooltip("Use button ''Shift'' to discover");

Ещё можно использовать обратный апостроф `` (на кнопке Ё), а если вам нужны ,,лапки'', попробуйте запятые,
вот пример: "Use button ,,Shift'' to discover", но выглядеть будет не очень красиво из-за разного направления линий.

Список форматирований текста:
format.obfuscated – замена символов на постоянно меняющиеся иероглифы
format.bold – выделение текста жирным
format.strikethrough – зачёркивание текста
format.underline – подчёркивание текста
format.italic – курсивный текст

Список цветов текста:
P.s. В гайде их цвета были подобраны примерно по внешнему виду, но лучше посмотрите изображение ниже, как они в игре выглядят в игре
Text Colors Цвета текста
format.black – текст
format.darkBlue – текст
format.darkGreen – текст
format.darkAqua – текст
format.darkRed – текст
format.darkPurple – текст
format.gold – текст
format.gray – текст
format.darkGray – текст
format.blue – текст
format.green – текст
format.aqua – текст
format.red – текст
format.lightPurple – текст
format.yellow – текст
format.white – текст

Цвет названия похоже можно сменить только через CraftTweaker. Использовать одновременно CraftTweaker и MineTweaker не получится, игра их за один мод воспринимает.
А для изменения цвета названий в "", используя .withTag
.withTag({display: {Name: "§", Lore: ["", ""]}});
нужны такие символы это:
§0 –  текст §1 – текст §2 – текст §3 – текст §4 – текст §5 – текст §6 – текст §7 – текст §8 – текст §9 – текст §a – текст §b – текст §c – текст §d – текст §e – текст §f – текст

- - -
Шпаргалка максимально краткая

Скрытый текст

Комментарии:

print("Testing");

//

#

/*

*/

Верстак:

recipes.addShaped( * , [[, ], [, ]])
recipes.addShaped(, [[, , ], [, , ], [, , ]]);

recipes.addShapeless(, []);

recipes.addShapedMirrored

recipes.removeShaped(, [[], []]);
recipes.removeShaped(, [[<*>], [<*>]]);
recipes.removeShaped();

recipes.removeShapeless();
recipes.removeShapeless(, [, ]);

recipes.remove();

recipes.addShapeless( , [.reuse(), ]);
recipes.addShapeless(, [.anyDamage().transformDamage(), ]);
recipes.addShapeless(, [, .transformReplace()]);
recipes.addShapeless(, [, .noReturn()]);
recipes.addShapeless(, [, .giveBack( * )]);

recipes.addShapeless(, [.anyDamage().marked(""), ], function(output, inputs, crafting) {return inputs..withDamage(max(0, inputs..damage - ));});

var = ;
var  = .anyDamage();
.withDamage();
val  = .withDamage(10);
val  = .withTag({display: {Name: "", Lore: ["", ""]}});
val  = .onlyWithTag({display: {Name: ""}});

.onlyDamaged();
.onlyDamageAtLeast();
.onlyDamageAtMost();
.onlyDamageBetween(10, 80);

.onlyDamage().onlyWithTag({display: {Name: ""}});

Печь:
furnace.addRecipe(, , );

furnace.setFuel(, );

furnace.remove();
furnace.remove(, );

Прочность и кол-во в стаке

.maxDamage = ;
.maxDamage = -1;

.maxStackSize=;

Словарь руд

.remove();

val  = ;
.add();

.addAll();
.mirror();

Добавление названий, описаний и форматирование текста:

import mods.nei.NEI;
NEI.overrideName(, "");

Для описаний в ("")
.addTooltip(format(""));
.addShiftTooltip("");
это:
format.obfuscated – иероглифы format.bold – текст format.strikethrough – текст format.underline – текст format.italic – текст

Text Colors Цвета текста
format.black –  текст format.darkBlue – текст format.darkGreen – текст format.darkAqua – текст format.darkRed – текст format.darkPurple – текст format.gold – текст format.gray – текст format.darkGray – текст format.blue – текст format.green – текст format.aqua – текст format.red – текст format.lightPurple – текст format.yellow – текст format.white – текст

Для названий только с использованием мода CraftTweaker (одновременно с MineTweaker3 его не поставить, но функции у них +- похожи, если различия работы пары вещей, но в целом функции такие же у него) - работает только с предметами, которые получаются через что-то, будь то верстак, матрица наполнения и т.д. (но слитки и руда, насколько знаю не подойдут), сначала удаляете рецепт создания (если не удалять, будет просто 2 рецепта, один по умолчанию без цветного названия, а добавленный с цветным названием), а потом используете добавления рецепта с таким-то именем и описанием (при желании).
Учтите, что название будет другого цвета только у того что было скрафчено, а не найдено.
Готовый пример: recipes.addShaped(<minecraft:golden_pickaxe>.withTag({display: {Name: "§6Gold pickaxe", Lore: ["Golden", "Gold"]}}), [[<minecraft:gold_ingot>, <minecraft:gold_ingot>, <minecraft:gold_ingot>], [null, <minecraft:stick>, null], [null, <minecraft:stick>, null]]);

Фрагмент скрипта: .withTag({display: {Name: "§", Lore: ["", ""]}});
§0 –  текст §1 – текст §2 – текст §3 – текст §4 – текст §5 – текст §6 – текст §7 – текст §8 – текст §9 – текст §a – текст §b – текст §c – текст §d – текст §e – текст §f – текст

Лут данжей и с травы

vanilla.loot.addChestLoot("", .weight());
vanilla.loot.addChestLoot("", .weight(100), , );
vanilla.loot.removeChestLoot("", );

vanilla.seeds.addSeed(.weight());
vanilla.seeds.removeSeed();

Локализация через скрипты

game.setLocalization("", "nei.inventory.prev", "");
game.setLocalization("nei.inventory.next", "");

- - -

Команды:

Скрытый текст

Команды-информация:
/minetweaker help или /mt help – вызов списка команд и описаний того что они делают (по умолчанию описания на английском)
Вместо "/minetweaker" можно использовать сокращение /mt

 

Команды-инструменты:
/mt reload – перезагружает все скрипты (рецепты), это нужно чтобы без перезахода в мир увидеть внесённые изменения,
осторожно, при использовании может немного подвиснуть, всё зависит от кол-ва кода в скриптах
/mt hand – выводит строчный ID предмета в руках и принадлежит ли этот предмет к словарю руд, если принадлежит, то к какому значению,
а также эта информация пишется в чате, в latest.log и строчный ID копируется в буфер обмена, если что оно копируется сразу вместе с скобками < >
(это можно использовать для быстрого получения строчного ID, чтобы не печатать его вручную)
/mt name <id> – выводит строчный ID предмета, в <id> пишите числовой ID предмета, скобки "< >" в команду печатать не надо,
и он выпишет полученную о предмете информацию в чат и в latest.log, это может помочь, если вы знаете только ID предмета, а желаете узнать его строчный ID
/mt blockinfo – включает и выключает режим анализа блока, находясь в этом режиме, можно получить полную информацию
(а именно строчный ID и метаданные) о блоке, просто нажмите ПКМ по блоку, информация о нём пишется в чате и в latest.log
/mt inventory – выводит список всех предметов, которые находятся в Вашем инвентаре в виде строчных ID,
а также показывает есть ли у них эквиваленты от словаря руд, список пишется в чат и в latest.log
/mt recipes hand – рецепт предмета, который находится в руке в момент написания команды, выписывается в чат,
в latest.log, minetweaker.log и копируется в буфер обмена

 

Команды-списки:
Учтите что, если у предметов один ID, но разная мета, то в списке будет показан только первый предмет и без меты.
/mt biomes – генерирует список всех биомов в игре, список выводится только в файл minetweaker.log
/mt blocks – генерирует список названий всех блоков в игре в файл minetweaker.log
/mt names – генерирует список со всеми названиями предметов и блоков в игре, выписывает информацию в minetweaker.log
/mt entities – генерирует список всех добавляемых модами сущностей, которые он смог определить, в файл minetweaker.log
/mt liquids – генерирует список строчных ID всех жидкостей в файл minetweaker.log
/mt loot – генерирует списков с информацией о разновидности сундука с лутом и какой лут на него записан, выводит информацию в minetweaker.log
/mt mods – генерирует списков всех установленных в игру модов (и пишет какой они версии)

По умолчанию список сундуков с лутом будет таким:
bonusChest – бонусный сундук, который можно включить или выключить при создании мира,
dungeonChest – сундуки в данжах с спавнерами, вроде бы это те что в комнатах с замшелым булыжником появляются
mineshaftCorridor – сундук в вагонетке в коридоре заброшенной шахты
pyramidDesertyChest – сундук в пирамиде пустыни
pyramidJungleChest – сундук в храме джунглей
pyramidJungleDispenser – содержимое раздатчика в храме джунглей
strongholdCorridor – сундук в коридоре заброшенной крепости в Край
strongholdCrossing – сундук на развилке коридоров в заброшенной крепости в Край
strongholdLibrary – сундук в библиотеке заброшенной крепости в Край
villageBlacksmith – сундук в деревенской кузнице

/mt seeds – генерирует список со всеми семенами (также пишет шанс выпадения), которые выпадают из высокой травы (есть блок травы, которая как блок земли с травой,
есть высокая трава, а есть двойная высокая трава, тут речь именно о просто высокой траве)
в чат, в файл minetweaker.log и в latest.log
/mt mods – генерирует список с названиями всех активных модов в игре и какие у них версии, выписывает всё это в чат и в файлы minetweaker.log, latest.log
/mt oredict – генерирует список со всеми именами словаря руд и какие предметы/блоки принадлежат к тому или иному имени в словаре руд,
информацию выводит в minetweaker.log
/mt oredict <name> – генерирует список со всеми строчными ID, которые принадлежат к указанному имени словаря руд,
информацию выводит в minetweaker.log, вписываются имена без "ore:" в начале
/mt recipes – генерирует список со всеми рецептами в игре, в начале идут ванильные (обычные) рецепты, а после те,
которые вы добавляли/изменяли, можно использовать для самостоятельного изучения того как устроены рецепты, список выводится в minetweaker.log
 

Команды-списки для MineFactory:
Если у Вас нет мода MineFactoryReload, в чат и в latest.log напишет: Произошла ошибка при выполнении этой команды.
/mt mft fertilizers – генерирует список со всеми предметами, которые добавляются модами и которые можно использовать как удобрение в удобрителе,
информацию выводит в minetweaker.log (P.s. ни костная мука, ни чернильный мешок на самом деле не используются удобрителем)
/mt mfr fruits – генерирует список с названиями всех фруктов в виде блоков (в обычном Minecraft’е только один не совсем фрукт – Какао-бобы),
информацию выводит в minetweaker.log
/mt mfr laserores – генерирует список со всеми рудами, которые можно получить через лазерный бур, шанс на их выпадение через бур и
через линзу какого цвета получается чаще тот или иной вид руды, информацию выводит в minetweaker.log
/mt mfr rubbertreebiomes – генерирует список с названиями биомов, в которых встречается гевея (дерево для получения резины) из MFR,
информацию выводит в minetweaker.log
/mt mfr sludgedrops – генерирует список предметов, которые можно получить через перерабатывающий котёл, информацию выводит в minetweaker.log

 

Команды-связи:
/mt bugs – открывает в Вашем браузере вкладку с страницей этого мода на GitHub, которая нужна для отслеживания багов мода MineTweaker3
На CurseForge, на момент написания этого гайда, мод MineTweaker3 отмечен как заброшенный,
поэтому я не знаю насколько целесообразно (можно или не надо) туда сообщать о багах.

/mt forum – открывает в Вашем браузере вкладку с страницей форума этого мода
Форума этого мода, насколько понимаю, больше не существует (но, возможно, сохранилась её архивированная версия).
/mt wiki – открыть в Вашем браузере вкладку с страницей вики этого мода.
Вики этого мода, насколько я понимаю, больше не существует, но в комментариях на CurseForge можно найти ссылку на заархивированные версии страниц вики.

- - -

Словарь/Обозначения и возможно полезная информация:

Скрытый текст

Словарь:
Строчные ID предметов – это ID предметов в виде текста, а не чисел, например, строчный ID медного слитка из IC2 это <IC2:itemIngot>,
а его число 4161 – это просто ID, его номер.

Метаданные – это число, которое идёт после двоеточия, например, поломанная кирка (повреждённая), еловая доска.

NBT – это внутренняя информация в объекте, например, зачарования на предметах.

Буфер обмена – это то, куда временно сохраняются данные, которые вы копируете или вырезаете.

Вики – это то где пишется обычно вся или почти информация о той или иной теме.

Форменный рецепт – это рецепт, для работы которого нужно выложить вещи точно так, как указано в рецепте.

Бесформенный рецепт – это рецепт, для работы которого нужно лишь выложить нужные предметы в сетку крафта,
а как именно выкладывать сами предметы – не важно.

Крафт (Craft) – в этом гайде используется как синоним «рецепта».

Лут (Loot) – это ценные предметы, выпадающие из монстров или других сущностей,
но в данном гайде это общее обозначение и для сокровищ подземелий, и для того что просто выпадает из чего либо.

Данж, данжи (Dungeon) – в данном гайде обозначает разные структуры, обычно подземелья, либо другие сооружения с сокровищами.

CurseForge – это сайт, на котором разные люди выкладывают дополнительный материал (моды, аддоны) к разным играм, в том числе и к Minecraft’у.
Выкладывают моды как правило там сами автора этих модов, но не всегда, иногда люди делают фанатский порт мода на другую версию игры,
также на этом сайте есть не только модификации в виде модов, но и карты на прохождение, ресурспаки, шейдеры (в вкладке Customization)
и даже вроде бы аддоны для Бедрок Minecraft’а, плагины, модпаки и т.д.

Аддон, аддоны (add-on) – это дополнительный материал к уже самостоятельно существующей игре или моду (иногда создают и к модам дополнения).

Портирование мода – это когда уже существующий мод на такой-то версии переписывают так, чтобы он работал и на другой версии игры,
в этом случае под версией игры имеется в виду версии Java Minecraft’а, например, 1.6.4, 1.7.10, 1.12.2, 1.19.

Модпак (Modpack) – это значит сборка модов, обычно конфиги хорошо настроены автором модпака, иногда сборка может содержать моды,
которые написаны самим автором модпака, некоторые сборки модов могут быть не просто собранными вместе модами (ну, и настроенными так,
чтобы моды не конфликтовали друг с другом), а ещё с изменёнными рецептами, с квестами, изредка может встретится в модпаке ещё
дополнительно папка мира, для её прохождения именно с этим модпаком.

Конфиг (Config) – это файл конфигурации (настройки), в этом гайде под этим подразумевается файл настройки мода.

GUI (ГУИ, ГИП, ГПИ, Graphic User Interface) – это обозначение означает графический пользовательский интерфейс или же графический интерфейс пользователя.
Иными словами, это всплывающее окно, через которое можно взаимодействовать с теми или иными элементами.
Например, при нажатии ПКМ по верстаку, открывается его GUI, где можно создавать предметы.


Полезно знать: 
Что такое minetweaker.log и для чего он нужен? Это файл, добавляемый MineTweaker’ом, в нём пишутся ошибки, если такие есть в рецепте,
предупреждения, если есть о чём предупреждать, а также там выводится информация от команд-списков о тех или иных объектов,
но учтите что если у предметов один ID, но разная мета, то в списке будет показан только первый предмет и без меты.
Не забудьте, что он очистится после полного перезахода в игру и будет заполнятся заново.

Где находится minetweaker.log? По умолчанию, файл minetweaker.log находится прям в папке Minecraft’а в C:\Users\Имя пользователя\AppData\Roaming\.minecraft

Что такое latest.log и для чего он нужен? Это файл лога, там выводится информация о логе текущей игровой сессии
(там показывается то что в данный момент в игре происходит, но в виде кода), также в этом файле будут показаны все действия,
которые вы проводили с рецептами.
Не забудьте что после полного перезахода в игру он очистится и будет записываться заново.

Где находятся логи Minecraft’а? Те, о которых упоминается в гайде. По умолчанию в C:\Users\Имя пользователя\AppData\Roaming\.minecraft\logs\latest.log,
в гайде упоминается именно latest.log, 

Что в контексте этого гайда означает «эквивалентны»? Имеется в виду словарь руд. Руды, которые отмечены через словарь
руд одним и тем же обозначением могут быть взаимозаменяемыми, например, есть медь из Forestry,
а есть медь из IndustrialCraft2, они эквивалентны друг к другу, то есть могут быть взаимозаменяемыми,
т.к. они обе отмечены в словаре руд как медь.
Это слово было использовано, потому что я не знаю как по другому сказать «а также какой у них словарь руды»,
т.к. это не совсем верное определение, ведь словарь руд – это обозначение всей системы, а не конкретного элемента, насколько знаю.

Под «генерирует», в этом гайде, в контексте команд-списков имеется в виду то, что информация может быть разной, всё зависит от того,
какие моды вы используете, например, при «генерации» списка всех жидкостей в игре, он также ищет добавляет ли какой-то мод новую жидкость,
если добавляет, то как же она подписана и всё найденное выводит в список.

- - -

Возможные и часто встречающиеся ошибки:

Скрытый текст

ERROR: Название файла скрипта.zs:номер строки, которая вызывает ошибку – расшифровка того, что пишет перед самой ошибкой в сообщении чата.

; expected – в скрипте забыли поставить знак ;
) expected – в скрипте забыли поставить скобку/и, либо (), либо <>
value cannot be changed – значение нельзя изменить, эта ошибка может встретится, например, если вы после указания нового имени через оператор val
пытаетесь его изменить присвоив новое имя через: старое имя = другой строчный ID предмета, как решение можно использовать оператор var вместо val
Cannot cast minetweaker.item.IItemStack to minetweaker.item.IIngredient[] – в скрипте забыли добавить []
java.lang.RuntimeException: not yet supported – возможно в скрипте где-то 2 точки .., но это лишь пример того, что может вызвать такую ошибку
> could not find NEI – либо не установлен NEI, либо в скрипте НЕ прописано import mods.nei.NEI; а прописывать его надо в начале скрипта

- - -
 

ВВЕДЕНИЕ:

Для начала разберёмся как с ним работать.
После установки MineTweaker3 появится новая папка scripts, если у вас Minecraft находится в папке по умолчанию, то путь будет такой:
C:\Users или Пользователи\Имя пользователя\AppData\Roaming\.minecraft\scripts

В этой папке создаются файлы с рецептами, сначала создайте текстовый документ блокнота, называть их можно как угодно,
но лучше называть их в соответствии с тем, какие рецепты там меняются, для удобства и чтобы не запутаться,
например, вы меняете рецепты из обычного Minecraft’а, значит рекомендуется назвать файл Minecraft,
но вообще – это не обязательно, просто рекомендация так попробовать в начале, если Вам не понравится, делайте по своему.
В папке с скриптами может храниться неограниченное кол-во скриптов с рецептами, все они будут выполнятся.
Называть файлы текстовые можно и не на английском, но рекомендуется их всё же на английском подписывать, на всякий случай.


В конце, когда вы записали рецепты все, не забудьте изменить расширение файла/ов с .txt на .zs, это нужно чтобы скрипты работали.
Это делается потому что MineTweaker3 работает через ZenScript, от сюда и расширение такое .zs.

Изменить расширение можно, например, если находясь в папке перейти на вкладку «Вид» и там поставить галку
возле «Расширения имён файлов», после этого при переименовании файла можно будет заменить .txt на .zs,
главное чтобы после названия файла была точка и уже после неё было расширение файла.

Не волнуйтесь, файл по-прежнему можно будет открыть, просто надо выбрать будет открыть
с помощью блокнота, либо для удобства можно попробовать Notepad++.
Самое главное, помните: каждый символ в скрипте важен и играет роль, забыли поставить пробел или точку с запятой в конце строки кода?
Скрипт работать не будет, как и добавленный Вами рецепт не появится без работающего скрипта. Поэтому будьте внимательны.

Теперь разберём создание рецептов в верстаке и какими они бывают.
В конце первой части будут выделены полезные команды и в целом будет список всех команд и что они делают.

- - -

ПЕРВАЯ ЧАСТЬ: КРАФТЫ ЧЕРЕЗ ВЕРСТАК
+крафты с возвратом предметов/поломкой инструментов, починка инструментов и немного про теги

Скрытый текст

Виды создания рецептов: через GUI и вручную
Скрипт с рецептами можно создать несколькими способами.

Во-первых, есть аддон (дополнение) для MineTweaker (но он работает и с CraftTweaker) – MineTweaker RecipeMaker (на версии Minecraft’а 1.7.10, 1.10.2, 1.11.2 и 1.12.2) –
он добавляет графический интерфейс для редактирования рецептов (то есть вам не нужно будет писать код скрипта вручную),
с его помощью можно добавить или удалить рецепты, он поддерживает словари руд, он автоматически перезагружает скрипты при сохранении рецепта,
открыть его интерфейс можно с помощью команд /mtrm или /MineTweakerRecipeMaker
НО, пожалуйста, помните, что он нужен только для редактирования скриптов, а чтобы рецепты загрузились в игру,
вам всё ровно будет нужен MineTweaker (или CraftTweaker)!
И, аккуратно, на 1.12+ была удалена автоматическая перезагрузка скриптов, чтобы рецепты обновились, нужно перезагрузить игру/сервер,
ЭТО НЕ БАГ! И это не работает ни с чем, кроме ванильных рецептов на верстаке.
(Перевод может быть не точен, текст на английском:
1.12 RELOADING WAS REMOVED YOU MUST RESTART THE GAME/SERVER FOR RECIPES TO TAKE EFFECT! THIS IS NOT A BUG!!!
THIS DOES NOT WORK WITH ANYTHING OTHER THAN VANILLA CRAFTING TABLES.
YOU MUST HAVE MINETWEAKER / CRAFTTWEAKER FOR THE SCRIPTS TO LOAD!
PLEASE DO NOT ASK US FOR MINETWEAKER / CRAFTTWEAKER SUPPORT! USE THE WIKIS BELOW!)

Во-вторых, можно редактировать и создавать скрипты вручную. Второй способ как раз и рассмотрим.

Создание скриптов вручную проходит в виде написания кода на скриптовом языке (ZenScripts), это значит,
что Вам нужно изучить как записывать той или иной вид рецепта, заучивать не обязательно написание, разве что для удобства,
потому что всегда можно подсмотреть в этом гайде.
Но вообще, если хотите часто работать с этим модом, рекомендую его изучать, ведь со временем шаблоны для рецептов,
например, то как добавить форменный и бесформенный рецепт, могут запомниться вам и так,
без целенаправленного заучивания через постоянное повторение, т.к. при частом взаимодействии с информацией она
понемногу предстаёт в всё более и более чётком образе, а уже исходя из образа вам, я так думаю, будет полегче работать с этой информацией.
 

Комментарии и инструменты
Примеры записи разных функций и для чего они нужны будут в формате как пишется функция, ниже что она делает
и какие есть обязательные условия и ещё ниже примеры использования.

print("Testing");
Выведение определённой надписи в minetweaker.log, учтите что она обязательно должна быть на английском языке.
Это можно использовать для того чтобы прямо в логе разделять скрипты, например, у Вас много разных скриптов, изменены рецепты предметов из разных модов
и Вам нужно для какой-то цели отследить, например, когда загружаются изменённые рецепты Minecraft’а и когда они догружаются, в начале этих рецептов вы пишете
"Minecraft Recipes Start Loading", а в конце "Minecraft Recipes Finish Loading" и вот Вы уже можете отследить когда что загрузилось,
а ещё можно придумать и другие применения, это просто пример того, для чего можно использовать.
Примечание: функция – это print, а ("Text") – это уже аргумент, так вот, функция print воспринимает
только один аргумент – выведение текста, то есть у этой функции лишь одна возможная функция.

А ещё можно добавить комментарии прямо в скрипт, есть 3 вида комментариев:

// Однострочный комментарий

# Ещё один вид однострочного комментария

/* Это
многострочный
комментарий */

Комментарии можно писать не только отдельной строкой, но и после кода рецепта, например:
recipes.addShaped(<minecraft:stick> * 4, [[<minecraft:planks:*>, null], [null, <minecraft:planks:*>]]); //это форменный рецепт палки с крафтом по диагонали
Либо можно закомментировать строку рецепта, если удалять её пока что не нужно.

Комментарии используются для разделения кусков кода, чтобы он не был сплошной стеной, для обозначения,
например, тут идут изменённые рецепты от такого-то мода, а там удалённые рецепты, а также это может упростить поиск,
например, можно искать группу определённых объектов, которые вы обозначили комментарием с более запоминаемым словом
или в начале можно сделать вступление со всеми разделениями, например, в этом скрипте удалённые рецепты обозначены в начале комментарием
"Название мода удалённые рецепты" и т.д., в общем для документации.

Часто используемые команды:
/mt reload – перезагружает все скрипты (рецепты), чтобы не перезаходить в мир
/mt hand – пишет строчный ID предмета в руках и его принадлежность к словарю руд, показывает информацию в чате,
в latest.log и копирует строчный ID в буфер обмена (чтобы вручную не печатать, копирует вместе с <> скобками)
Но также советуется просмотреть и остальные команды в начале, вдруг Вам среди них тоже что-нибудь пригодится.
 

Форменные рецепты
Форменный рецепт – это рецепт, для работы которого нужно выложить вещи точно так, как указано в рецепте.

recipes.addShaped(<minecraft:planks> * 4, [[<minecraft:stone_axe>, null, null], [<minecraft:log>, null, null]]);

Пример форменного рецепта по добавлению крафта 4-х досок из каменного топора и бревна, при этом крафтить надо будет обязательно в верстаке
и обязательно нужно будет ставить каменный топор в левый верхний угол, а бревно дуба ниже, в центр левого края.
Топор после крафта полностью потратится.

Первый строчный ID – это то что вы по итогу получите, строчные ID в [квадратных скобках] – это то, из чего Вы будете крафтить предмет,
квадратные скобки внутри квадратных скобок – это строчки в сетке верстака, через запятую идут предметы, которые будут находится в слотах данной строчки,
в этом примере в первой строке верстака будет сначала идти каменный топор, дальше будет 2 пустых слота, которые обязательно должны быть пустыми,
т.к. рецепт форменный и потому что так указано с помощью null.

Записанные предметы добавляются в рецепт сверху вниз, слева направо, для примера – это значит что если попробовать написать такой рецепт в скрипте:
recipes.addShaped(<minecraft:planks> * 4, [[<minecraft:log>, null], [<minecraft:log>], [<minecraft:log>], [minecraft:log]]);
Напишет ошибку, в чате, latest.log и в minetweaker.log отобразится название скрипта, в котором произошла ошибка,
строку где находится ошибка и что вызвало ошибку.

Ошибка выше произошла потому что, в первой части содержимого рецепта указано что самый верхний слот в центре должен быть пустым (null),
в следующей части показано что ещё блок дерева добавлен в самый левый слот в центре, угловой слева внизу слот и дальше он
пытается добавить дерево в слот сверху в центре, поскольку не было указано в каком слоте будет дерево и из-за этого происходит конфликт
с первой частью содержимого, от этого ошибка и произошла, в этом случае.

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

И если интересно, то строка выше вызывает функцию addShaped для объекта recipes, этот объект используется только в добавлении и удалении
ванильных рецептов, которые проходят через верстак, а рецепты в печи и в разных машинах из модов будут записаны уже немного по другому, с другим объектом.
 

Использование метаданных
recipes.addShaped(<minecraft:stick> * 4, [[<minecraft:planks:*>, null], [null, <minecraft:planks:*>]]);
Это рецепт на создание 4-х палок из 2-х досок по диагонали (слева направо), при этом доски могут быть любыми, хоть дубовыми, хоть еловыми.

В случае рецептов, связанных с крафтом деревянных предметов, без привязки к определённому виду дерева,
лучше использовать словарь руд в виде ore:plankWood, т.к. скрафтить палки по такому рецепту с использованием досок из модов,
без словаря руды не обойтись, по крайней мере если вы НЕ хотите добавлять несколько строк ради крафта палок по диагонали
(ну, или подобное этому рецепту), на каждый вид дерева из модов ваших сборок.
 

Бесформенный рецепт и немного о словаре руд
Бесформенный рецепт – это рецепт, для работы которого нужно лишь выложить нужные предметы в сетку крафта,
а как именно выкладывать сами предметы – не важно.

Записывается он немного по-другому:
В круглых скобках как обычно в начале пишется строчный ID, и в квадратных скобках нужно просто через запятую указать строчные ID предметов,
которые будут использоваться в крафте, не надо добавлять ещё одну пару квадратных скобок.

recipes.addShapeless(<minecraft:sand>, [<ore:blockGlass>]);
Это рецепт на создание песка из любого стекла, который принадлежит к ore:blockGlass по словарю руды.
Для того чтобы изменения рецептов вступили в силу, нужно либо перезайти в мир, либо использовать /mt reload
Учтите что эта команда перезагружает все рецепты в скриптах и если изменения были в разных скриптах, то все они загрузятся после перезагрузки этой командой.

recipes.addShapeless(<minecraft:stick> * 4, [<ore:plankWood>, <ore:plankWood>]);
Бесформенный рецепт на создание 4-х палок из 2-х любых досок, осторожней с бесформенными крафтами, т.к. не забудьте что из 2-х досок
также могут быть созданы деревянные нажимные плиты, при автокрафте этих нажимных плит в такой ситуации могут быть проблемы.
Пожалуйста, будьте внимательны.
 

Удаление рецептов
recipes.removeShaped(<minecraft:stick>, [[<minecraft:planks:*>], [<minecraft:planks:*>]]);
Для удаления конкретного рецепта, в круглые () скобки пишется сам рецепт.
В этом примере используется звёздочка, чтобы при удалении рецепта палок учитывался любой вид досок,
виды обычных досок отличаются по метаданным, звёздочка указывает рецепту, что можно использовать доски
с любыми метаданными, главное чтобы строчный ID совпадал.

Важно знать!
Если Вы сначала добавите рецепт конкретного предмета, а потом удалите рецепт этого предмета с такими же предметами,
даже если у Вас они были разной формы, например, одно отсылалось на словарь руд, а удаляемое на мету, то рецепт,
который вы добавили, всё ровно удалится, в этом случае вместе с ванильным рецептом.
recipes.addShapeless(<minecraft:stick> * 4, [<ore:plankWood>, <ore:plankWood>]);
recipes.removeShaped(<minecraft:stick>, [[<minecraft:planks:*>], [<minecraft:planks:*>]]);

Поэтому порядок, в котором Вы записываете удаление и добавление рецептов – важен.

recipes.removeShaped(<minecraft:stick>);
Для удаления всех форменных рецептов этого предмета

recipes.removeShapeless(<minecraft:stick>);
Для удаления всех бесформенных рецептов этого предмета

recipes.remove(<minecraft:stick>);
Для удаления всех рецептов этого предмета

recipes.removeShaped(<minecraft:stick>, [[<*>], [<*>]]);
Для удаления форменного рецепта палки, знак * означает что там может быть любой предмет и не важно какой именно.

var iingot = <minecraft:iron_ingot>;
recipes.removeShaped(<minecraft:iron_block>, [[iingot, iingot, iingot], [iingot, iingot, iingot], [iingot, iingot, iingot]]);
Для удаления конкретного рецепта, а именно, в этом примере, удаление рецепта железного блока, в котором используется 9 железных слитков.

recipes.removeShapeless(<minecraft:wool:*>, [<minecraft:wool>, <ore:dye>]);
Аналогичное можно использовать и по отношению к бесформенным рецептам, в этом примере удаляются все рецепты по окрашиванию шерсти.
 

Отзеркалить рецепт
recipes.addShapedMirrored(<minecraft:stick> * 4, [[<minecraft:planks:*>, null], [null, <minecraft:planks:*>]]);
С версии 3.0.7 и выше можно создать зеркальные рецепты – это такие рецепты, которые можно выкладывать не только как показано в рецепте,
но и в отзеркаленном виде, и так, и так будет крафтится предмет.

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

Вариации собственных имён, прочность предметов, установка твёрдости для блока, урон и количество предметов в стаке
У предметов с одинаковым строчным ID могут быть разные метаданные, например, уголь может быть и древесным, и каменным (тот что с шахты)
и чтобы постоянное не записывать их в виде строчного ID с метой, можно присвоить им отдельное имя

var coal = <minecraft:coal:0>;
Это собственно сам каменный уголь minecraft:coal

var charcoal = <minecraft:coal:1>;

var название – это то какое имя Вы присваиваете предмету, а то что идёт после = это то, к чему вы присваиваете имя.
Если после ":" в строчном ID не указать точную мету, то автоматически выберется мета 0.

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

var anyCoal = <minecraft:coal:*>;
Если Вам нужно, чтобы присвоенное имя элемента было присвоено обоим видам, игнорируя мету (ну, в этом примере обычный и древесный уголь),
используйте приставку any для имени и знак * вместо меты.

Используем присваивание имени на практике!
var s_pickaxe = <minecraft:stone_pickaxe>;
var iron_i = <minecraft:iron_ingot>;
recipes.addShaped(<minecraft:iron_pickaxe>, [[iron_i, iron_i, iron_i], [null, s_pickaxe, null]]);

Это позволит добавить рецепт создания железной кирки из 3-х железных слитка и каменной кирки.
Как игнорировать прочность предметов в рецептах?
Но в том варианте если кирка не целая, то рецепт её не примет, это легко поправить используя .anyDamage() после строчного ID кирки.
var s_pickaxe = <minecraft:stone_pickaxe>.anyDamage();

<>.maxDamage = число;
Если там, где число ввести -1 - предмет будет без прочности (бесконечное применение, не ломаемый инструмент).

<>.hardness = число;
Установка твёрдости для блока.

recipes.addShaped(<minecraft:sponge>.withTag({AttributeModifiers: [{UUIDMost: 1, UUIDLeast: 1, Amount: 100, AttributeName: "generic.attackDamage", Operation: 0, Name: "Damage"}]}), [[<minecraft:gold_ingot>, <minecraft:gold_ingot>, null], [<minecraft:gold_ingot>, <minecraft:gold_ingot>, null], [null, null, null]]);
Добавление губке, которая крафтится с помощью 4-х золотых слитка, 100 урона.
Атрибуты, вроде цветного названия и урона, можно добавить только к рецепту, а не ко всем предметам, то есть у скрафченной губки будет 100 урона с таким скриптом, а у наденой нет.

<>.maxStackSize=число;
Какой предмет и там где число, сколько его может быть максимум в стаке.

Различия между val и var операторами
Операторы val и var нужны для присваивания новых имён уже существующим строчным ID.
Отличаются они только тем что имя, которое присваивается через val нельзя через код в других строчках поменять на другое значение

Например, так сделать не получится:
val stick = <minecraft:stick>;
val planks = <minecraft: planks:*>;
stick = <minecraft:cake>;
recipes.remove(stick);
recipes.addShaped(stick * 4, [[planks, null], [null, planks]]);
Оно напишет ошибку value cannot be changed – значение нельзя изменить.
val – от слова value (значение, то есть он присваивает к значению указываемого имени тот или иной строчный ID,
и это значение не получится перекрыть другим значением)

А так сделать получится: 
var stick = <minecraft:stick>;
var planks = <minecraft: planks:*>;
stick = <minecraft:cake>;
recipes.remove(stick);
recipes.addShaped(stick * 4, [[planks, null], [null, planks]]);
В этом варианте 4 торта крафтятся из 2-х любых досок по диагонали, то есть к торту пере привязывается имя, с которым проводили махинации чуть выше.
var – от слова variant/variable (вариант/вариация/переменная, это означает что он к определённому значению привязывает тот или иной возможный вариант имени,
которым можно перекрыть один вариант другим вариантом)
 

Поломка инструментов через рецепт
А если Вам нужно чтобы предмет создавался изначально немного поломанным, то используется:
<строчный ID>.withDamage(сколько будет отнято прочности);

Если хотите, можете попробовать уже набранный вариант:
var s_pickaxe = <minecraft:stone_pickaxe>.withDamage(81);
var cobblestone = <minecraft:cobblestone>;
var w_pickaxe = <minecraft:wooden_pickaxe>.anyDamage();
recipes.addShaped(s_pickaxe, [[cobblestone, cobblestone, cobblestone], [null, w_pickaxe, null]]);

В этом примере добавляется форменный рецепт создания каменной кирки, у которой осталось 50 прочности
(131 (прочность каменной кирки) - 81 (то сколько указывали в .withDamage())=50),
из 3-х булыжников линией сверху верстака и деревянной кирки с любой прочностью в центре под линией.
Учтите, что если у предмета прочности меньше, чем указано в скрипте рецепта,
то через этот же рецепт доломать инструмент не получится.

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

val stick = <minecraft:stick>;
val pick = <minecraft:stone_pickaxe>;
val damagedPick = pick.withDamage(10);
val stickedPick = pick.withTag({display: {Name: "Sticked pick", Lore: ["This pick", "Has been sticked"]}});

recipes.addShaped(damagedPick, [[pick, stick]]);
recipes.addShaped(stickedPick, [[pick, stick], [stick, stick]]);

val stonedPick = pick.withTag({display: {Name: "Stoned pick", Lore: ["This pick", "Has been experimenting too much"]}});
val onlyStickedPick = pick.onlyWithTag({display: {Name: "Sticked pick"}});
val cobble = <minecraft:cobblestone>;
recipes.addShaped(stonedPick, [[onlyStickedPick, cobble], [cobble, cobble]]);

В этом примере из вики добавляется рецепт 2-х кирок с разными именами и описания, и выставлено обязательное условие: для крафта кирки с именем Stoned pick в крафте обязательно должна использоваться кирка с именем Sticked pick (onlyStickedPick = pick.onlyWithTag({display: {Name: "Sticked pick"}});)

Пожалуйста учтите, что .withTag выводит указанный тег, а .onlyWithTag используется для приёма уже созданного тега.
То есть принять тег через .withTag не получится, т.к. он наоборот нужен для отправки тега.

Ещё примеры использования .only:
<строчный ID>.onlyDamaged(); – принимает только повреждённые предметы;
<строчный ID>.onlyDamageAtLeast(20); – принимает только предметы с повреждениями не менее 20;
<строчный ID>.onlyDamageAtMost(50); – принимает только предметы с повреждениями не более 50;
<строчный ID>.onlyDamageBetween(10, 80); – принимает предметы с повреждениями от 10 до 80.
Но работать у меня с ними не получилось, позже поищу более наглядный пример их использования.

Если хотите, можете добавить сразу несколько условий для предмета:
<строчный ID>.onlyDamage().onlyWithTag({display: {Name: "Name"}});

Возврат предметов после крафта
Начиная с версии MineTweaker 3.0.2 добавлена функция возврата предмета после крафта, давайте разберём её на примере:

Допустим, мне нужен рецепт, через который можно сделать 2 дубовые деревянные плиты через использование железного топора топора,
но при этом мне не нужно чтобы топор пропадал после крафта:
recipes.addShapeless(<minecraft:wooden_slab:0> * 2, [<minecraft:iron_axe>.reuse(), <minecraft:planks:0>]);

А для того чтобы топор получал повреждения при использовании в крафте, подойдёт такой метод:
recipes.addShapeless(<minecraft:wooden_slab:0> * 2, [<minecraft:iron_axe>.anyDamage().transformDamage(), <minecraft:planks:0>]);
По умолчанию он будет получать по 1-у повреждению. Если нужно, чтобы он получал по
конкретному кол-ву повреждений, то в () transformDamage'а напишите нужное вам число.
.anyDamage() в этом примере используется, для того чтобы можно было в крафте использовать также повреждённый железный топор.

Я приведу ещё пример рецепта, но теперь с ведром и немного другими параметрами, посмотрим как оно будет себя вести с разными условиями.
Например, я желаю создавать замшелый кирпич из каменного кирпича и ведра воды, при использовании строки ниже:

recipes.addShapeless(<minecraft:stonebrick:1>, [<minecraft:stonebrick:0>, <minecraft:water_bucket>]);
Пустое ведро от ведра воды будет возвращаться в инвентарь после крафта.

А если нужно, чтобы пустое ведро появлялось на месте ведра с водой, после крафта, то используется такая часть:
<строчный ID ведра с жидкостью>.transformReplace(<minecraft:bucket>)]);
Вот полный пример этой части скрипта:
recipes.addShapeless(<minecraft:stonebrick:1>, [<minecraft:stonebrick:0>, <minecraft:water_bucket>.transformReplace(<minecraft:bucket>)]);
В этом примере создаётся 1 замшелый каменный кирпич из 1 каменного кирпича и одного ведра воды.
И, кстати, если указать вместо ведра другой предмет, то после крафта на место ведра воды будет
появляться тот предмет, который вы указали, даже если он не будет пустым ведром.

Если вы не хотите, чтобы пустое ведро вообще возвращалось, используйте это:
recipes.addShapeless(<minecraft:stonebrick:1>, [<minecraft:stonebrick:0>, <minecraft:water_bucket>.noReturn()]);

А если вам нужно, чтобы после крафта в инвентарь складывалось, а не оставалось как при использовании .transformReplace,
не ведро, а другой предмет выдавался, то используется такая часть скрипта:
recipes.addShapeless(<minecraft:stonebrick:1>, [<minecraft:stonebrick:0>, <minecraft:water_bucket>.giveBack(<minecraft:iron_ingot> * 3)]);
В этом примере, после создания 1-го замшелого каменного кирпича из 1-го каменного кирпича и
1-го ведра воды, в инвентарь складываются 3 железных слитка, а ведро воды пропадает.
Если вы используя .giveBack не желаете чтобы возвращался другой предмет, то просто оставляете скобки пустыми, вот так: .giveBack()
 

Добавление починки инструмента через крафт
Для такого действия есть специальная функция function(), как с ней работать сейчас разберём на примерах.

recipes.addShapeless(<minecraft:wooden_pickaxe>, [<minecraft:wooden_pickaxe>.anyDamage().marked("pickaxe"), <minecraft:planks:*>], function(output, inputs, crafting) {
return inputs.
pickaxe.withDamage(max(0, inputs.pickaxe.damage - 25));
}
);
Если вам так удобнее будет, можете записывать скрипт с сносками как показано выше.
Главное аккуратней с скобками, их там довольно много и из-за этого легче запутаться.
Пустая форма выглядит так:
recipes.addShapeless(<строчный ID>, [<строчный ID>.anyDamage().marked("N"), <строчный ID>], function(output, inputs, crafting) {return inputs.N.withDamage(max(0, inputs.N.damage - 25));});

В первом строчном ID записывается предмет, который в результате крафта получится, второй строчный ID отвечает за то, что надо положить для крафта,
поскольку этот раздел о починке инструмента, то там записываете инструмент, чтобы можно было использовать поломанный инструмент,
была добавлена часть .anyDamage(), для того чтобы рецепт понимал, что именно мы хотим починить из указанных предметов,
используется для пометки этого предмета .marked("N"), это имя будет чисто внутри скрипта в рецепте и в игре не будет никак отображаться.
Далее записываются функции, output в начале, потому что первый строчный ID – это то что будет по итогу получено,
следующее inputs – это то, на что будет применяться функция, которую укажем чуть позже и crafting используется, потому что крафтим мы через верстак.

Далее используется команда возврата return, т.к. мы обращаемся к функции, что была указано до этого в скобках, в нашем случае – это inputs,
после него через . дописывается имя, которым мы отметили предмет, на который будет применена функция, а дальше через . указывается собственно сама функция,
в нашем случае – это withDamage(max(0, inputs.N.damage - 25), то есть мы говорим рецепту, что речь будет об повреждении на инструменте (withDamage),
max 0 записывается чтобы не было ошибки (для чего именно max 0 записывается я ещё не знаю), прими отмеченный предмет и
подлатай причинённый урон кирки на 25 единиц прочности, мол damage = урон, а если damage - число, это уже отнять столько-то полученного урона,
по факту – это значит восстановить предмет на столько-то единиц.

- - -

ВТОРАЯ ЧАСТЬ: ПРАКТИКА – СЛОВАРЬ РУД

Скрытый текст

Эта практика направлена на то чтобы закрепить знания о использовании словаря руд, знания о операторе val, как использовать зеркальные рецепты
(для замены предметов через словарь руд, но не затрагивая отдельно вписанные предметы, даже если они из словаря руд),
а также опробовать добавления и удаление предметов из словаря руд, создание своей записи в словаре руд,
слияние и объединение 2-х записей в словаре руд и изучение перебирания значений в словаре руд.

Для этой практики кроме мода MineTweaker3 вам также понадобится, например, IndustrialCraft2 и Tinkers Construct
(не забудьте для него библиотеку Mantle тоже установить).
Т.к. в этой части будет нужна медь, для примера.
Использовалось: industrialcraft-2-2.2.827-experimental, TConstruct-1.7.10-1.8.8, Mantle-1.7.10-0.3.2b
Рекомендую скачивать с CurseForge.

/mt oredict – генерирует список со всеми именами словаря руд и какие предметы/блоки принадлежат к тому или иному имени в словаре руд,
информацию выводит в minetweaker.log
/mt oredict <name> – генерирует список со всеми строчными ID, которые принадлежат к указанному имени из словаря руд,
информацию выводит в minetweaker.log, вписываются имя в команду без "ore:" в начале
 

Привязка к новому имени без и с использованием словаря руд
val Copper = <IC2:itemIngot>;
val Tin = <IC2:itemIngot:1>;
val Bronze = <IC2:itemIngot:2>;
recipes.addShaped(Bronze * 4, [[Copper, Copper, null], [Copper, Tin]]);
По этому рецепту 4 бронзовых слитка получится скрафтить используя только слитки из IC2, давайте сделаем так, чтобы принимало и слитки из Tinker Construct:

val Copper = <ore:ingotCopper>;
val Tin = <ore:ingotTin>;
val Bronze = <IC2:itemIngot:2>;
Для этого используем уже знакомую запись для руд.
И после такой замены строчного ID на запись меди, олова и бронзы словаря руд, рецепт сможет принимать слитки меди и олова из других модов.
Единственное, обратите внимание что, там где пишется строчный ID итогового продукта надо указывать точный строчный ID, словарь руд там не поможет.

Интересный факт: Записи в словаре руд есть не только у слитков и руды, например, запись в словаре руды есть даже у стекла.
 

Добавление нового предмета в уже существующую запись в словаре руд
val Copper = <ore:ingotCopper>;
val Tin = <ore:ingotTin>;
val Iron = <ore:ingotIron>;
Iron.add(<IC2:itemIngot:3>);

recipes.addShaped(<IC2:itemRecipePart:6>, [[Copper, Copper, Copper], [Tin, Iron, Tin], [Copper, Copper, Copper]]);
Этот рецепт добавит альтернативный крафт медного котла из: сначала сверху 3 медных слитка, потом идёт оловянный, железный слиток,
а т.к. мы добавили слиток закалённого железа в запись железо в словаре руд, то можно вместо железного слитка
использовать слиток закалённого железа и внизу ещё 3 медных слитка.
 

Удаление предмета из записи словаря руд
Iron.remove(<minecraft:iron_ingot>);
Для удаления предмета из той или иной записи словаря руд, вместо Iron в начале пишется имя той записи словаря руд,
из которой вы хотите удалить предмет, который находится в () скобках.
 

Замена предметов в рецепте через зеркало, только по словарю руд
<ore:ingotIron>.mirror(<ore:dye>);
До слова mirror пишите то что вы хотите, чтобы было заменено в добавленных вами рецептах, а в части где () скобки пишете на что именно будет заменено.
Такая функция работает ТОЛЬКО С ЗАПИСЯМИ СЛОВАРЯ РУД.
Учтите, что это работает не так как, например, игнорирование меты, подробнее:

Например, есть такой рецепт:
val Copper = <ore:ingotCopper>;
val Tin = <ore:ingotTin>;
<ore:ingotIron>.mirror(<ore:dye>);

recipes.addShapeless(<IC2:itemRecipePart:6>, [Copper, Copper, Copper, Tin, <minecraft:iron_ingot>, Copper, Copper, Copper]);
recipes.addShapeless(<minecraft:crafting_table>, [<ore:ingotIron>]);
Там где <ore:ingotIron>.mirror – в угловых <> скобках пишется строчный ID предмета, который будет заменён,
в круглых () скобках пишется то на что будет заменено.

Замена работает только на добавленных вручную рецептах, учтите что эти рецепты должны быть
записаны уже ниже функции mirror, чтобы она на них применилась.

А если вы попробуете в этом случае использовать <ore:dye> в рецепте, то он будет использовать <ore:dye>,
типа это не работает в обе стороны, а только в одну, то что в () скобках – на то и меняются предметы в рецептах, в которых используется то что перед .mirror

А также, даже если предмет принадлежит к используемой записи словаря руд, но в рецепте обозначен как просто строчный ID предмета, то он НЕ будет заменён функцией mirror, именно это показано в рецепте в конце, зелёным.
Оба обозначения предмета должны быть в виде записи из словаря руд.

 

Объединение 2-х записей словаря руд
Когда нужно объединить 2 записи словаря руд, например, есть 2 вида соли, но их зарегистрировали под разными записями словаря руд, или когда Вам нужно, чтобы все предметы из одной записи можно было использовать вместо предметов из другой записи,
чтобы эти 2 записи объединить, используйте:
<ore:dustTinyGold>.addAll(<ore:nuggetGold>);
<ore:nuggetGold>.mirror(<ore:dustTinyGold>);

В этом примере оно позволяет использовать небольшую кучку золотой пыли как золотой самородок во всех добавленных игроком рецептах,
то есть если в крафте будет указано <ore:nuggetGold> или <ore:dustTinyGold>, то в обоих случаях (хоть то, хоть то укажи) можно будет
использовать и небольшую кучку золотой пыли, и золотой самородок, на выбор.

Это можно использовать, для того чтобы можно было использовать обе записи словаря руд, для того или иного рецепта, например, добавим ещё 3 строки:
val Gold = <ore:nuggetGold>;
val Carrot = <minecraft:carrot>;
recipes.addShaped(<minecraft:golden_carrot>, [[Gold, Gold, Gold], [Gold, Carrot, Gold], [Gold, Gold, Gold]]);
Теперь в крафте золотой морковки можно использовать и то что из записи золотого самородка словаря руд,
и через недавно добавленные (через объединение 2-х записей словаря руд) небольшие кучки золотой пыли из одноимённой записи словаря руд.
 

Создание своей записи в словаре руд
При добавлении предметов в запись словаря руд, не имеет значение существует ли та или иная запись в словаре руд или нет.
Давайте этим воспользуемся и создадим свою запись в словаре руд:

val Coals = <ore:coal>;
Coals.add(<minecraft:coal:*>);

val Iron = <ore:ingotIron>;
val Steel = <IC2:itemIngot:3>;

recipes.addShaped(Steel, [[Iron, Coals]]);

Это можно использовать, для группирования предметов и последующим использовании в рецепте именно записи своих групп предметов,
т.к. при редактировании уже существующей записи в словаре руд, можно потом в будущем запутаться,
не использовать же всё время команду на просмотр того к какой записи, какой предмет принадлежит.

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

Удаление рецептов по словарю руды
Записи словаря руды можно использовать для удаления рецептов, которые содержат в себе те или иные записи руд, либо использовать <*> знак,
но учтите при его использовании сотрутся добавленные рецепты всех предметов, в которых использовалась указанная запись словаря руды.
recipes.addShaped(<minecraft:apple>, [[<ore:nuggetGold>]]);
recipes.addShaped(<minecraft:diamond>, [[<ore:nuggetGold>]]);

recipes.removeShaped(<*>, [[<ore:nuggetGold>]]);

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

А после происходит удаление форменных рецептов, в <> до квадратных скобок можно указать конкретный рецепт, а если использовать *,
то удалит все добавленные форменные крафты, в которых используется в качестве одного из предметов для крафта запись золотого самородка из словаря руд.

И запись словаря руд, в которой добавлен только один предмет, считается эквивалентной этому предмету (в отличии от MineTweaker2)
 

Добавление действий к разным предметам из одной записи словаря руд
Для добавления определённых действий на каждый предмет из выбранного словаря руд.
val Copper = <ore:ingotCopper>;
for item in <ore:ingotCopper>.items {
recipes.addShapeless(<IC2:itemRecipePart:6>, [Copper]);
}
Например, здесь к каждому предмету из записи медный слиток словаря руд применяется добавление бесформенного рецепта крафта медного котла из
одного любого предмета, главное чтобы он был добавлен в запись медного слитка в словаре руды.

В моей сборке в словаре руды по записи медного слитка добавлены 2 вида медных слитков,
поэтому скорее всего и добавилось 2 одинаковых рецепта с слитком и котлом.

Я не знаю, как это можно применить, извините.

- - -

ТРЕТЬЯ ЧАСТЬ: КРАФТЫ ЧЕРЕЗ ПЕЧЬ

Скрытый текст

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

Добавление рецептов печи

Рецепты переплавки:
furnace.addRecipe(<minecraft:coal:0>, <minecraft:coal:1>, 0.5);
Пример рецепта по переплавке древесного угля в обычный.
Первый строчный ID – это то что вы по итогу получите, а второй строчный ID – это то, что Вы будете переплавлять, 0.5 – это кол-во опыта,
которое выпадет в виде сфер опыта возле печи, после переплавки.

Рецепты топлива:
furnace.setFuel(<minecraft:rotten_flesh>, 100);
Пример рецепта, по добавлению времени горения гнилой плоти.
Первый строчный ID – это то что Вы хотите сделать топливом, после запятой число – это то сколько тиков будет гореть предмет, в одной секунде 20 тиков.
furnace.setFuel(<minecraft:rotten_flesh>, 0);
Для удаления уже существующего топлива, чтобы его нельзя было больше использовать как топливо.

Функции по установке времени горения топлива можно использовать и для уже существующего топлива, чтобы изменить его время горения,
НО ЕСТЬ ИСКЛЮЧЕНИЕ – ванильное топливо, время горения ванильного топлива жёстко закодировано и не может быть изменено, в нашем случае.
 

Удаление рецептов печи
furnace.remove(<minecraft:gold_ingot>);
Удаление рецепта по получению золотого слитка через печь.

furnace.remove(<*>, <minecraft:gold_ore>);
Удаление рецепта переплавки золотой руды.

- - -

ЧЕТВЁРТАЯ ЧАСТЬ: ЛУТ ИЗ ТРАВ И СОКРОВИЩА

Скрытый текст

Начиная с версии мода MineTweaker 3.0.8 можно добавлять, изменять и удалять предметы из сундуков сокровищниц, подземелий и т.д..
Это могут быть сундуки заброшенной крепости, пустынного храма, заброшенной шахты, храмов джунглей, кузниц и также можно
менять содержимое сундуков сокровищниц, из структур других модов.

Добавление предметов в сундуки сокровищ
vanilla.loot.addChestLoot("bonusChest", <minecraft:diamond>.weight(100));
Теперь в бонусных сундуках с 100% вероятностью можно будет встретить 1 алмаз, один потому что точное кол-во алмазов не указано.

vanilla.loot.addChestLoot("bonusChest", <minecraft:cookie>.weight(100), 1, 5);
С 100% шансом в вальных бонусных сундуках можно будет найти от 1 до 5 печений.

В первой части кода указывается к чему будет обращаться код, к коду мода или к обычному Minecraft’у, в то что в скобках описывается
в каком виде будет попадаться, мол это лут подземелий или другой вид содержимого сундука, далее запятая и пишется строчный ID предмета,
% шанс появления и от скольких до скольких штук может попасться этого предмета.
Если хотите настроить определённый лут, советую экспериментировать с бонусным сундуком, придётся мир всё время заново создавать новый,
но зато его легко найти и по нему смотреть добавленные предметы.

 

Удаление предметов из сундуков сокровищ
vanilla.loot.removeChestLoot("dungeonChest", <minecraft:enchanted_book>);
Убирает возможность появления зачарованных книг в сундуках подземелий.
И, если что, можно использовать словарь руд.

vanilla.loot.removeChestLoot("dungeonChest", <*>);
А также можно удалить весь возможный лут выбранного вида сокровищницы, если добавить такое значение <*>.

/mt loot – команда для генерации списка с информацией какой вид сундука с лутом и какой лут на него записан,
выводит информацию в виде списка в minetweaker.log
По умолчанию список сундуков с лутом такой:
bonusChest – бонусный сундук, который можно включить или выключить при создании мира,
dungeonChest – сундуки в данжах с спавнерами, вроде бы это те что в комнатах с замшелым булыжником появляются
mineshaftCorridor – сундук в вагонетке в коридоре заброшенной шахты
pyramidDesertyChest – сундук в пирамиде пустыни
pyramidJungleChest – сундук в храме джунглей
pyramidJungleDispenser – содержимое раздатчика в храме джунглей
strongholdCorridor – сундук в коридоре заброшенной крепости в Край
strongholdCrossing – сундук на развилке коридоров в заброшенной крепости в Край
strongholdLibrary – сундук в библиотеке заброшенной крепости в Край
villageBlacksmith – сундук в деревенской кузнице
 

Добавление предметов выпадающих из травы
vanilla.seeds.addSeed(<minecraft:melon_seeds>.weight(50));
В круглых скобках пишется строчный ID предмета, который будет выпадать из травы, дальше идёт его шанс выпадения.
 

Удаление предметов выпадающих из травы
vanilla.seeds.removeSeed(<minecraft:wheat_seeds>);
Если у семян, которые вы хотите удалить из дропа травы, один строчный ID, но разная мета, то в конце строчного ID используйте двоеточие и звёздочку *

Интересный факт: Эта функция была раньше в ModTweaker’е, но теперь она интегрирована в MineTweaker
Не забывайте, что даже если шанс выпадения у предмета 100%, то игра сначала просчитывает, а выпадет ли сейчас вообще что-то,
если выпадет, то дальше уже высчитывается шанс того что вообще может из травы выпасть, 100% выпадения чему-либо из травы лучше не ставить,
т.к. вместо другого возможного лута будет выпадать один 100%-й предмет и всё.

/mt seeds – для просмотра списка со всеми семенами (также пишет шанс выпадения), которые выпадают из травы,
эту информацию он пишет в чат, в файл minetweaker.log и в latest.log

- - -

ПЯТАЯ ЧАСТЬ: NBT ТЕГИ

Скрытый текст

НБТ – это внутренние данные предмета, например, этими данными могут быть зачарования на предмете, текст в книге с пером, предметы в сумке и т.д..

А ещё можно добавить тег с описанием предмета и новым название предмета, подробнее об этом в 7-й части про переименование и подсказки.

- - -

ШЕСТАЯ ЧАСТЬ: ЛОКАЛИЗАЦИЯ (ПЕРЕВОД)
через game.setLocalization()

Скрытый текст

С версии мода MineTweaker 3.0.8 можно взаимодействовать с локализацией через него.

Есть 2 способа взаимодействия:

game.setLocalization("nei.inventory.prev", "Custom Name");
Используется всегда, вне зависимости от того, какой язык выбран в настройках.

game.setLocalization("en_US", "nei.inventory.prev", "Custom Name");
Используется если язык, который указан в добавляемом переводе, соответствует языку из настроек игры.

Чтобы узнать, как называется та или иная кнопка в виде кода, посмотрите файлы локализации в ресурсах Minecraft’а или в том моде,
локализацию которого хотите изменить.
Файлы локализации хранятся в папке lang, в модах она обычно находится в assets/название мода/lang

- - -

СЕДЬМАЯ ЧАСТЬ: ЦВЕТНЫЕ ПЕРЕИМЕНОВАНИЯ И ПОДСКАЗКИ (ОПИСАНИЯ) ПРЕДМЕТА

Скрытый текст

Переименование 2-мя способами

1) Можно сделать рецепт с автоматическим присваиваемым именем и описанием к предмету через
<строчный ID>.withTag({display: {Name: "Text Name", Lore: ["Line One", "Line Two"]}});

val axei = <minecraft:iron_axe>;
val bucketlava = <minecraft:lava_bucket>;
val namedAxe = axei.withTag({display: {Name: "Fire Axe", Lore: ["Blaze's are not happy", "Stainless"]}});

recipes.addShaped(namedAxe, [axei, bucketlava]);

Это форменный (recipes.addShaped) рецепт создания, по созданию переименованного
топора с описанием (.withTag({display: {Name: "Fire Axe", Lore: ["Blaze's are not happy", "Stainless"]}});).
Название предмета будет белого цвета, а описание тёмно-фиолетового.

2) Можно просто изменить имя уже существующего предмета через <строчный ID>.displayName = "New Name";
Если хотите, можно сделать так, чтобы в minetweaker.log сначала писало исходное название блока/предмета,
а потом переименованный вариант, для этого можно использовать такой код:
print(<строчный ID>.displayName);

Аккуратно, в именах/описаниях используются только латинские символы (речь, например, о английском), поскольку для записи используется ASCII,
а для того чтобы использовать кириллицу нужно перевести текст в Unicode код (этот код выглядит как набор примерно таких элементов: \u041f и т.д.),
для перевода текста можно использовать, например, другие сайты, например, точно подходит сайт native2ascii

Учтите, что есть некоторые элементы в мода, которые нельзя изменить с помощью файлов локализации,
это означает что их нельзя изменить и с помощью .displayName, но если установлен NEI, можно попробовать использовать NEI.overrideName,
это вроде бы помогает в таких случаях, пример кода:
import mods.nei.NEI;
NEI.overrideName(<
minecraft:gold_ingot>, "Shining Ingot");
Теперь, пока установлен NEI, золотой слиток будет подписан как Shining Ingot.
 

Добавление подсказок (описаний) предметам и изменение цвета
Начиная с версии MineTweaker 3.0.8, можно добавлять разные виды подсказок к разным элементам.
(ко всем предметам целой записи словаря руд, к отдельному взятому предмету и т.д.)

Не забудьте про совет, который был выделен красным, он находится выше. То правило к подсказкам тоже относится.

Для добавление подсказки, которая отображается когда наводишь на предмет, используется .addTooltip("");
<minecraft:gold_block>.addTooltip("It's a brilliance!");
<ore:blockGold>.addTooltip("It's a brilliance!");
Добавлять подсказку можно не только к определённому предмету, но и ко всем предметам, в определённой записе словаря руд.
Если применить добавление подсказки к одному и тому же предмету, будет добавлено сразу 2 подсказки,
верхней будет та, что первая в коде, вторая та что вторая и т.д.

Для добавления подсказки, которая отображается если навести на предмет и зажать Shift, используется .addShiftTooltip("");
<minecraft:iron_ingot>.addShiftTooltip("Use button Shift to discover");

Можно покрасить добавляемую подсказку с помощью (format.gold("")); вместо gold можно использовать любой цвет из списка цветов в конце этого спойлера.
<minecraft:gold_ingot>.addTooltip(format.gold("Add a little shine"));

Можно комбинировать разные цвета и разное форматирование текста (курсив, подчёркнутость и т.д.), но это немного сложнее,
т.к. надо внимательно следить за скобками, сначала записывается цвет, а потом форматирование, например, вот пример части кода для назначения цвета
format.darkAqua потом открываются скобки и записывается какое используется форматирование (format.obfuscated("Text") + и дальше после плюса
проделываете аналогичную операцию со всеми остальными частями, которые вы отредактировать желаете.
Вот код для примера, который добавляет подсказку на золотую лопату, в подсказке использованы все виды форматирования текста и 3 разных цвета:
(ну, 3 в сумме, если учитывать тот цвет, что по умолчанию добавляется на текст, он в самом конце представленной подсказки)
<minecraft:golden_shovel>.addTooltip(format.darkAqua(format.obfuscated("Obfuscated") + format.bold(" Bold")) + format.darkGreen(format.strikethrough(" Strikethrough") + format.underline(" Underline") + format.italic(" Italic")) + " Normal");

Учтите, что нельзя использовать внутри "" кавычек ещё одни кавычки: <minecraft:iron_ingot>.addShiftTooltip("Use button "Shift" to discover");
то есть так не получится сделать, но есть лазейка, если использовать 2 ' апострова подряд, то они будут похожи на обычные двойные кавычки '':
то есть, а вот так <minecraft:iron_ingot>.addShiftTooltip("Use button ''Shift'' to discover"); сделать получится, ещё можно использовать обратный апостроф `` (на кнопке Ё)
а если вам нужны ,,лапки'', попробуйте запятые, вот пример: "Use button ,,Shift'' to discover", но выглядеть будет не очень красиво из-за разного направления линий.

Список форматирований текста:
format.obfuscated – замена символов на постоянно меняющиеся иероглифы
format.bold – выделение текста жирным
format.strikethrough – зачёркивание текста
format.underline – подчёркивание текста
format.italic – курсивный текст

Список цветов текста:
P.s. В гайде их цвета были подобраны примерно по внешнему виду, основываясь на том, какие они в игре, рекомендую посмотреть изображение ниже, там показано как они выглядят в игре
Text Colors Цвета текста
format.black – текст
format.darkBlue – текст
format.darkGreen – текст
format.darkAqua – текст
format.darkRed – текст
format.darkPurple – текст
format.gold – текст
format.gray – текст
format.darkGray – текст
format.blue – текст
format.green – текст
format.aqua – текст
format.red – текст
format.lightPurple – текст
format.yellow – текст
format.white – текст

Для названий только с использованием мода CraftTweaker (одновременно с MineTweaker3 его не поставить, но функции у них +- похожи, если различия работы пары вещей, но в целом функции такие же у него) - работает только с предметами, которые получаются через что-то, будь то верстак, матрица наполнения и т.д. (но слитки и руда, насколько знаю не подойдут), сначала удаляете рецепт создания (если не удалять, будет просто 2 рецепта, один по умолчанию без цветного названия, а добавленный с цветным названием), а потом используете добавления рецепта с таким-то именем и описанием (при желании).
Учтите, что название будет другого цвета только у того что было скрафчено, а не найдено.
Готовый пример: recipes.addShaped(<minecraft:golden_pickaxe>.withTag({display: {Name: "§6Gold pickaxe", Lore: ["Golden", "Gold"]}}), [[<minecraft:gold_ingot>, <minecraft:gold_ingot>, <minecraft:gold_ingot>], [null, <minecraft:stick>, null], [null, <minecraft:stick>, null]]);

Фрагмент скрипта: .withTag({display: {Name: "§", Lore: ["", ""]}});
§0 –  текст §1 – текст §2 – текст §3 – текст §4 – текст §5 – текст §6 – текст §7 – текст §8 – текст §9 – текст §a – текст §b – текст §c – текст §d – текст §e – текст §f – текст

- - -

ВОСЬМАЯ ЧАСТЬ: ВСТРОЕННАЯ ПОДДЕРЖКА ДРУГИХ МОДОВ

В этой части будет рассказано о возможности добавлять/удалять некоторые рецепты из модов
Better Storage, BloodMagic, BuildCraft, GregTech, Harvest Festival, IndustrialCraft2, ImmersiveEngeneering, Magneticraft, MineFactoryReloaded, NEI, TSteelworks, Witching Gadgets

А для поддержки других модов, например, Thaumcraft, Forestry, ThermalExpansion и т.д.,
те что не вошли в список выше, нужен будет аддон ModTweaker, про это будет рассказано позже, почти в самом низу гайда.

Скрытый текст

Мод MineTweaker3 может изменять рецепты через механизмы из других модов, может добавить новый рецепт в уже существующий ритуал и т.д.

В начале будут перечислены вкратце моды, которые он поддерживает и что именно через MineTweaker3 можно поменять в рецептах этих модов,
а ещё ниже будет разобрано уже подробно, каким образом пишется код для тех или иных аспектов поддерживаемых модов, там показаны просто примеры,
которые Вы можете адаптировать под свои нужды, скопировав строку и заменив названия тех или иных предметов на те, что нужные Вам.

Зачёркнутые механизмы обозначают то, что у меня пока что нет информации об работе с ними через скрипты.
Пока что тут добавлены просто коды с вики [1], без описания что и как работает, это пока что в процессе, это просто основа на будущее.

 

Мод MineTweaker3 поддерживает (может взаимодействовать с некоторыми аспектами этих модов) моды:

Better Storage – добавление/удаление рецептов в Crafting Station

BloodMagic – Добавление и удаление рецептов в Алтаре крови, Алхимической и химической установке, и рецептов, в которых используется Сфера крови
И добавление возможности редактирования некоторых рецептов, которые проходят в нескольких ритуалах:
Ritual of Binding: добавление/удаление нових рецептов;
Mark of the Falling Tower: создание своего метеорита с выбранными блоками, этот ритуал призывает метеорит, тип метеорита определяется тем
или иным используемым предметом
, но он работает не с списком блоков, а с записью словаря руд, то есть нужно будет использовать
или уже существующую запись словаря руд, или создать свою и туда уже добавить нужные вам блоки;
Reap of the Harvest Moon: этот ритуал автоматически собирает созревший урожай, по умолчанию поддерживаются культуры, например, из
Vanilla (обычный Minecraft), Pam'sHarvestCraft, а культуры, которые этот ритуал не поддерживает по умолчанию теперь можно добавить вручную.

BuildCraft – добавление/удаление рецептов в: сборочный стол, двигатель внутреннего сгорания, стол интеграции, очистительный завод.

GregTech – добавление/удаление рецептов в: печь сплавов, амплифабрикатор, дуговая печь, сборочный станок, автоклав, доменная печь, варочная машина,
консервная машина, центрифуга, химическая ванна, химический реактор, пильный станок, ректификационная колонна, дистиллятор, экструдер,
электролизёр, ферментёр, разливочная машина, жидкостный экстрактор, нагреватель жидкости, жидкостный формовщик, автомолот,
формовочный пресс, добавление функций топлива к предметам и жидкостям, термоядерный реактор (ТЯР), компрессор внутреннего взрыва,
токарный станок, миксер, крекер, упаковщик, плазменная дуговая печь, прокатный стан, пильный станок, поляризатор, лазерный гравировщик, принтер,
дробитель, пиролизная печь, электромагнитный сепаратор, просеиватель, ломтерезка, распаковщик, вакуумный морозильник, протяжный стан.

Harvest Festival – добавление урожая к тем или иным культурам, их настройка (в какой сезон могут расти и т.д.), редактирование NPC-торговцев,
добавление предметов в категорию "подарки", чёрный список на: выбранные предметы-подарки, запрет на использование мотыги выбранного вида,
запрет посадки конкретных культур.

IndustrialCraft2 – добавление рецептов в: жидкостный/твердотельный наполняющий механизм, компрессор, экстрактор, дробитель,
металлоформовочный механизм, рудопромывочный механизм, утилизатор, термальная центрифуга.
Важно: для обновления скрипта с рецептами IndustrialCraft2 нужен полный перезаход в игру, чтобы рецепты связанные с IndustrialCraft2 обновились.

ImmersiveEngeneering – добавление/удаление рецептов в: дуговая печь, доменная печь, наполняющий механизм, коксовая печь, дробитель,
экскаватор, увлажнитель, металлический пресс, очиститель, промышленный пресс.

Magneticraft – добавление/удаление рецептов в: Biomass Burner, Crusher, Crushing Table, Grinder, Oil Distillery, Polymerizer, Refinery, Sifter, Thermopile.

MineFactoryReloaded – чёрный список для авто-спавнера, добавление новых блоков для сборщиков: удобритель, сборщик фруктов, молотилка, комбайн, лазерный бур, сеятель, фермер, RedNet, гевея, сафари сеть, перерабатывающий котёл, генератор биотоплива.

NEI – скрытие предметов, добавление тега предмету, изменение в NEI отображаемого имени.

TSteelworks (насколько понимаю, полное название Tinker's Steelworks) – добавление/удаление рецептов в: High Oven, Mixing Agents, Mixing Recipes (рецепты смешивания)

Witching Gadgets – добавление/удаление рецептов в: огранщик камней, адская доменная печь, прялка

= - =

Better Storage

Скрытый текст

Crafting Station
//Станция крафта 
//Используемые предметы, Количество уровней(если добавить звёздочку, опыт будет необязателен), Получаемый продукт
mods.betterstorage.CraftingStation.addShapeless([<minecraft:gold_block>, <minecraft:chest>, <minecraft:gold_ingot> * 4], 15,
[<betterstorage:reinforcedChest>.withTag({Material: "gold"})]);
Добавление бесформенного рецепта по созданию усиленного золотого сундука в станции крафта из этого мода.

mods.betterstorage.CraftingStation.addShaped([<minecraft:chainmail_chestplate>], 5,
[[<minecraft:iron_ingot>, null, <minecraft:iron_ingot>],
[<minecraft:string>, <minecraft:iron_ingot>, <minecraft:string>],
[<minecraft:iron_ingot>, <minecraft:string>, <minecraft:iron_ingot>]]);
Добавление форменного рецепта по созданию кольчужной кирасы в станции крафта из этого мода.

= - =

BloodMagic

Скрытый текст

Алтарь крови
mods.bloodmagic.Altar.addRecipe(<minecraft:glowstone_dust>, <minecraft:redstone>, 1, 500, 20, 20);
OutputStack – то что получится после крафта, InputStack – предметы, которые потратятся при крафте,
TierRequired – минимальный требуемый для крафта уровень алтаря, LPRequired – сколько крови потратится,
UsageRate – по сколько единиц впитывается крови, указывать не обязательно, DrainRate – сколько времени в тиках нужно на крафт, указывать не обязательно.
В одной секунде 20 тиков.
Для добавления рецепта создания светящейся пыли из редстоун пыли, на алтаре 1-го уровня, при котором тратится 500 LP,
и для крафта которой потребуется 1 секунда.

mods.bloodmagic.Altar.removeRecipe(<AWWayofTime:telepositionFocus>);
Для удаления рецепта создания, через Алтарь крови, фокуса телепозии.
 

Рецепты, для которых нужна Сфера крови
mods.bloodmagic.BloodOrb.addShaped(<minecraft:ender_pearl>, [[<AWWayofTime:weakBloodShard>, <AWWayofTime:crystallos>, <AWWayofTime:weakBloodShard>], [<AWWayofTime:magicales>, <AWWayofTime:magicianBloodOrb>, <AWWayofTime:magicales>], [<AWWayofTime:weakBloodShard>, <AWWayofTime:crystallos>, <AWWayofTime:weakBloodShard>]]);
OutputStack – то что получится после крафта, InputArray – предметы, которые потратятся при крафте, кроме сферы, в зависимости от указаного в крафте вида сферы крови, такой уровень минимум и нужен будет, то есть в этом примере сферу более высокого уровня (трансцендентальную сферу) можно использовать,
а более низкого уровня (например, сферу ученика) нет.
Добавление форменного рецепта создания жемчуга Эндера, который будет создаваться из 4-х слабых кровавых осколков, 2-х Crystallos, 2-х Magicales и минимум с помощью кровавой сферы мага.
В NEI такой рецепт сверху будет подписан как "Форменное создание шара", рецепты добавляемые скриптами, насколько понимаю, находятся в конце списка рецептов.

mods.bloodmagic.BloodOrb.addShapeless(<AWWayofTime:demonBloodShard> *5, [<AWWayofTime:transcendentBloodOrb>, <AWWayofTime:demonBloodShard>, <AWWayofTime:bloodMagicBaseItems:27>]);
Добавление бесформенного рецепта по созданию 5-ти осколков крови демона с помощью сферы, у которой уровень минимум трансцендентальная сфера
или выше, одного осколка крови демона и эфирной плитки.

mods.bloodmagic.BloodOrb.removeRecipe(<AWWayofTime:energyBazooka>);
Удаление рецепта через создание сферы у энергетической базуки.


Алхимическая и химическая установка
mods.bloodmagic.Alchemy.addRecipe(<minecraft:nether_star> * 8, [<AWWayofTime:demonBloodShard>, <minecraft:soul_sand> * 32, <minecraft:skull:1> * 24], 4, 5000);
OutputStack – то что получится после крафта, InputStack – предметы, которые потратятся при крафте,
TierRequired – минимальный требуемый для крафта уровень сферы, LPRequired – сколько крови потратится.
Добавление рецепта создания 8-ми адских звёзд из 1-го осколка крови демона, 24-х черепов скелета-иссушителя и 32-х песка душ, при использовании сферы 4-го уровня (уровень сферы мастера) или выше.

mods.bloodmagic.Alchemy.removeRecipe(<minecraft:gravel>); – удаление рецепта создания гравия в алхимической и химической установке.


Ritual of Binding
mods.bloodmagic.Binding.addRecipe(<minecraft:cobblestone>, <minecraft:coal_block>);
InputStack – предмет, который потратится при крафте, OutputStack – то что получится после крафта.
Добавление рецепта создания, через ритуал связывания, угольного блока из блока булыжника.

mods.bloodmagic.Binding.removeRecipe(<AWWayofTime:energyBlaster>.withTag({}));
OutputStack – то что получается после крафта.
Удаление рецепта создания, через ритуал связывания, энергетической пушки.
 

Mark of the Filling Tower
Осторожно, метеорит призывается прям в центр ритуала, он разрушает ритуальные камни и камень мастера ритуала, если взрывы не отключены, произойдёт взрыв на том месте.
Для запуска ритуала, нужно чтобы ритуал был построен, чтобы хватало крови, потом в на камень мастера ритуалов бросается специальный
предмет (для вызова разных типов метеоритов нужен разный предмет) и после всего этого ритуал запускается на ПКМ пробуждённым
кристаллом активации по камню мастера ритуалов.
Листать ритуалы, в создателе ритуалов, вперёд на Shift+ПКМ, а назад на Shift+ЛКМ.
val demonCrystals = <ore:demonCrystals>; – создаётся новая запись словаря руд, под названием demonCrystals
demonCrystals.add(<AWWayofTime:blockCrystal>); – в эту запись словарь руд добавляется кристальное скопление
demonCrystals.add(<AWWayofTime:blockCrystal:1>); – и кирпич кристального скопления.

val netherBlocks = <ore:netherBlocks>; – создаётся новая запись словаря руд, под названием netherBlocks
netherBlocks.add(<minecraft:netherrack>); – в эту запись словарь руд добавляется адский кирпич
netherBlocks.add(<minecraft:soul_sand>); – песок душ
netherBlocks.add(<minecraft:glowstone>); – и светящийся камень.

val stoneBricks = <ore:stoneBricks>; – создаётся новая запись словаря руд, под названием stoneBricks
stoneBricks.add(<minecraft:stonebrick>); – в эту запись словарь руд добавляется каменные кирпичи
stoneBricks.add(<minecraft:stonebrick:1>); – замшелые каменные кирпичи
stoneBricks.add(<minecraft:stonebrick:2>); – и потрескавшиеся каменные кирпичи.

mods.bloodmagic.FallingTower.addFocus(<AWWayofTime:demonBloodShard>, 3, "demonCrystals, 1, netherBlocks, 25, blockCoal, 50, stoneBricks, 100");
FocusItem – предмет, который потратится при активации ритуала, MeteorRadius – сколько будет блоков в каждую сторону, ComponentArray – названия
записей словаря руд, в который вы добавляли блоки, эти блоки Вы потом с некоторым шансом сможете найти в появившемся метеорите,
ChanceNumber – с каким шансом можно будет найти блоки, которые Вы добавляли выше, этот шанс высчитывается по отношению к максимальному шансу
в конфигурации, то есть даже если один из пунктов указать 100, то метеорит всё ровно не будет состоять только из блоков этого пункта.

Добавление нового вида метеорита, который призывается осколком крови демона и в котором
могут встретиться блоки из записей словаря руд (demonCrystals, netherBlocks, blockCoal, stoneBricks).


mods.bloodmagic.FallingTower.removeFocus(<minecraft:nether_star>); – удаление предмета, из списка предметов,
которые можно использовать для вызова метеоритов.
В этом случае удалена адская звезда, из списка используемых, для призыва метеоритов, предметов.
 

Reap of the Harvest Moon
mods.bloodmagic.HarvestMoon.addHarvestable(<nevermine:LunalonsBlock:7>, <nevermine:LunalonSeeds>); – для добавления культурного растения
Луналоны из мода АоА в список собираемого урожая этого ритуала, чтобы посмотреть какой ID у именно выросшего растения, либо введите
команду /mt blockinfo и нажмите ПКМ по интересуемому блоку выросшего растения, либо, если установлен установлена WAILA,
нажмите Num0 (справа на числовой части клавиатуры), зайдите в настройки самой WAILA и включите показывание метаданных, первый столбец, вторая строка.

LastStageOfCrop – финальная стадия роста растения, которая будет собираться ритуалом, как посмотреть ID именно выросшей стадии указано выше,
SeedItem – какими семенами надо будет засаживать, указывать надо те семена, из которых вырастает собираемая культура.

mods.bloodmagic.HarvestMoon.addHarvestable(<Natura:N Crops:3>, <Natura:barley.seed>); – в некоторых случаях, например,
в случае ячменя из мода Natura, ID выросшего растения не 7, а 3, поэтому, пожалуйста, будьте внимательными.

= - =

BuildCraft

Скрытый текст

Сборочный стол
mods.buildcraft.AssemblyTable.addRecipe(<BuildCraft|Silicon:redstoneChipset:3>, 5000, [<BuildCraft|Silicon:redstoneChipset>, <minecraft:diamond> * 2, <minecraft:glass_pane>]); – добавление рецепта создания алмазной микросхемы из микросхемы из красного камня, 2-х алмазов и стеклянной панели.
OutputStack – получаемый после крафта продукт, InputRF – кол-во используемой энергии, InputArray – предметы, которые будут использованы при крафте.

mods.buildcraft.AssemblyTable.removeRecipe(<BuildCraft|Silicon:redstoneChipset>, [<minecraft:redstone>], false); – удаление рецепта по созданию микросхемы из красного камня, InputArray и isWildCard указывать не обязательно.

Двигатель внутреннего сгорания
//Используемая жидкость, Получаемое за 1 цикл кол-во энергии, Время горения в тиках (в 1-й секунде 20 тиков)
mods.buildcraft.Fuels.addCombustionEngineFuel(<liquid:lava>, 5000, 200);
Добавление жидкости в качестве топлива для этого механизма, с возможностью настроить кол-во получаемой энергии и время сгорания.

//Используемая жидкость
mods.buildcraft.Fuels.removeCombustionEngineFuel(<liquid:fuel>);
Удаление жидкости, из списка возможных топлив для этого механизма.

//Используемая жидкость, Кол-во охлаждения в mB?
mods.buildcraft.Fuels.addCombustionEngineCoolant(<liquid:oil>, 100);
Добавление жидкости в качестве охладителя?

//Используемый предмет, Получаемая жидкость и её кол-во в mB
mods.buildcraft.Fuels.addCoolantItem(<minecraft:ice>, <liquid:water> * 1000);
Добавление предмета в список охладителей (после охлаждения с него получается жидкость).

//Используемый предмет, Получаемая жидкость и её кол-во в mB, множитель
mods.buildcraft.Fuels.addCoolantItemWithMultiplier(<minecraft:packed_ice>, <liquid:water> * 4000, 2);
Добавление предмета в список охладителей (после охлаждения с него получается жидкость), с множителем.

//Используемая жидкость
mods.buildcraft.Fuels.removeCombustionEngineCoolant(<liquid:water>);
Удаление жидкости, которую можно использовать как охладитель, из списка возможных охладителей для этого механизма.

//Используемый предмет
mods.buildcraft.Fuels.removeCoolantItem(<minecraft:water_bucket>);
Удаление предмета, который можно использовать как охладитель, из списка возможных охладителей для этого механизма.

Стол интеграции
У меня пока что нет информации про его взаимодействие с MineTweaker3.

Очистительный завод
//OutputFluid, RF per mB, Ticks per mB, InputFluid1, InputFluid2
mods.buildcraft.Refinery.addRecipe(<liquid:oil> * 2, 25, 25, <liquid:water>, <liquid:lava>);
Добавление рецепта получения жидкости. InputFluid2 - не обязательный параметр.

//Используемая жидкость
mods.buildcraft.Refinery.removeRecipe(<liquid:fuel);
Удаление жидкости в качестве топлива для этого механизма.

= - =

GregTech

Скрытый текст

Печь сплавов
//OutputStack, InputStack1, InputStack2, TimeInTicks, EnergyUsage.
mods.gregtech.AlloySmelter.addRecipe(<minecraft:slime_ball>, <IC2:itemRubber>, <gregtech:gt.metaitem.01:32307> * 0, 800, 30);

Амплифабрикатор
//InputStack, TimeInTicks,OutputUU
mods.gregtech.Amplifabricator.addRecipe(<minecraft:tnt>, 200, 10);

Дуговая печь
//OutputArray, InputStack, InputFluid, OutputArrayChances, TimeInTicks, EnergyUsage
mods.gregtech.ArcFurnace.addRecipe([<gregtech:gt.metaitem.01:11304> * 5, <gregtech:gt.metaitem.01:11304> * 4], <IC2:itemRecipePart:11>, <liquid:oxygen> * 504, [10000, 5000], 1200, 32);

Сборочный станок
//OutputStack, InputStack1, InputStack2, InputFluid, TimeInTicks, EnergyUsage
mods.gregtech.Assembler.addRecipe(<IC2:itemRTGPellet>, <gregtech:gt.metaitem.01:22032> * 6, <IC2:itemPlutonium> * 3, <liquid:glue> * 1000, 1200, 128);

Автоклав
//OutputStack, InputStack, InputFluid, OutputStackChance, TimeInTicks, EnergyUsage
mods.gregtech.Autoclave.addRecipe(<minecraft:diamond>, <gregtech:gt.metaitem.01:2500>, <liquid:water> * 200, 9000, 2000, 32);

Доменная печь
//OutputArray, InputFluid, InputArray, TimeInTicks, EnergyUsage, HeatAmount
mods.gregtech.BlastFurnace.addRecipe([<gregtech:gt.blockmetal6:13>, <gregtech:gt.metaitem.01:2816>], <liquid:oxygen> * 9000, [<gregtech:gt.blockmetal8:2>], 1500, 120, 1500);

Варочная машина
//InputFluid, InputStack, OutputFluid, isHidden
mods.gregtech.Brewery.addRecipe(<liquid:ic2distilledwater> * 10000, <minecraft:nether_star>, <liquid:holywater> * 1000, false);

Консервная машина
//OutputArray, InputStack1, InputStack2, TimeInTicks, EnergyUsage
mods.gregtech.Canner.addRecipe([<IC2:itemTinCanFilled> * 4, <minecraft:sugar>], <minecraft:reeds> * 4, <IC2:itemTinCan>, 50, 200);

Центрифуга
//OutputArray, InputFluid, InputStack, InputCell, OutputFluid, OutputArrayChances, TimeInTicks, EnergyUsage
mods.gregtech.Centrifuge.addRecipe([<minecraft:sand> * 12, <minecraft:gunpowder> * 15, <minecraft:flint> * 6], <liquid:water> * 200, <IC2:blockITNT> * 4, <gregtech:gt.metatool.01:26>, <liquid:potion.mineralwater> * 200, [10000, 9000, 8000], 100, 50);

Химическая ванна
//OutputArray, InputStack, InputFluid, OutputArrayChances, TimeInTicks, EnergyUsage
mods.gregtech.ChemicalBath.addRecipe([<IC2:itemToolPainterBlack>], <IC2:itemToolPainter>, <liquid:dye.watermixed.dyeblack> * 144, [10000], 200, 2);

Химический реактор
//OutputStack, OutputFluid, InputStack1, InputStack2, InputFluid, TimeInTicks
mods.gregtech.ChemicalReactor.addRecipe(<IC2:itemFertilizer> * 2, <liquid:potion.mineralwater>, <minecraft:dye:15>, <gregtech:gt.metaitem.01:2815>, <liquid:water>, 200);

Пильный станок
//OutputArray, InputStack, InputFluid, TimeInTicks, EnergyUsage
mods.gregtech.CuttingSaw.addRecipe([<minecraft:planks> * 3, <minecraft:wool> * 3], <minecraft:bed>, <liquid:water> * 12, 30, 30);

Ректификационная колонна
//OutputFluidArray, OutputStack, InputFluid, TimeInTicks, EnergyUsage
mods.gregtech.DistillationTower.addRecipe([<liquid:lava> * 800, <liquid:liquid_heavy_oil> * 100, <liquid:liquid_medium_oil> * 75, <liquid:liquid_light_oil> * 25],  <gregtech:gt.metaitem.01:2940> * 4, <liquid:ic2pahoehoelava> * 1000, 50, 100);

Экструдер
//OutputStack, InputStack, InputShape, TimeInTicks, EnergyUsage
mods.gregtech.Extruder.addRecipe(<minecraft:quartz_block>, <minecraft:quartz> * 4, <gregtech:gt.metaitem.01:32363> * 0, 120, 128);

Дистиллятор
//OutputFluid, InputCircuit, InputFluid, TimeInTicks, EnergyUsage, isHidden
mods.gregtech.Distillery.addRecipe(<liquid:potion.chocolatemilk> * 250, <gregtech:gt.integrated_circuit:4> * 0, <liquid:milk> * 250, 80, 30, false);

Электролизёр
//OutputArray, OutputFluid, InputStack, InputCell, InputFluid, OutputArrayChances, Time in Ticks, EnergyUsage
mods.gregtech.Electrolyzer.addRecipe([<gregtech:gt.metaitem.01:2086> * 3, <gregtech:gt.metaitem.01:1086> * 4, <gregtech:gt.metaitem.01:86> * 5], <liquid:molten.gold>,  <gregtech:gt.blockmetal5:12>, <gregtech:gt.neutronreflector>, <liquid:molten.platinum>, [10000, 8000, 6000], 1000, 40000);

Ферментёр
//OutputFluid, InputFluid, TimeInTicks, isHidden
mods.gregtech.Fermenter.addRecipe(<liquid:ic2pahoehoelava> * 50, <liquid:lava> * 1000, 20, false);

Разливочная машина
//OutputStack, InputStack, OutputFluid, InputFluid
mods.gregtech.FluidCanner.addRecipe(<IC2:itemMugCoffee:1>, <IC2:itemMugEmpty>, <liquid:steam> * 200, <liquid:potion.darkcoffee> * 500);

Жидкостный экстрактор
//OutputStack, InputStack, OutputFluid, OutputStackChance, TimeInTicks, EnergyUsage
mods.gregtech.FluidExtractor.addRecipe(<gregtech:gt.metaitem.01:30702>, <minecraft:packed_ice> , <liquid:ice> * 4000, 6000, 20, 2);

Нагреватель жидкости
//OutputFluid, InputCircuit, InputFluid, TimeInTicks, EnergyUsage
mods.gregtech.FluidHeater.addRecipe(<liquid:ic2hotcoolant> * 250, <gregtech:gt.integrated_circuit> * 0, <liquid:ic2coolant> * 250, 40, 20);

Жидкостный формовщик
//OutputStack, InputMold, InputFluid, TimeInTicks, EnergyUsage
mods.gregtech.FluidSolidifier.addRecipe(<minecraft:packed_ice>, <gregtech:gt.metaitem.01:32308> * 0, <liquid:ice> * 4000, 480, 64);

Автомолот
//OutputStack, InputStack, TimeInTicks, EnergyUsage
mods.gregtech.ForgeHammer.addRecipe(<gregtech:gt.metaitem.02:22874>, <gregtech:gt.metaitem.01:23874> * 2, 20, 16);

Формовочный пресс
//OutputStack, InputStack1, InputStack2, TimeInTicks, EnergyUsage
mods.gregtech.FormingPress.addRecipe(<gregtech:gt.metaitem.01:32200> * 12, <IC2:blockAlloyGlass>, <gregtech:gt.metaitem.01:32316>, 200, 480);

Добавление функций топлива к предметам и жидкостям
//OutputStack, InputStack, EnergyOutputPerMb // One InputStack equals 1000mB
mods.gregtech.Fuels.addDieselFuel(<IC2:itemCellEmpty>, <gregtech:gt.metaitem.01:30730>, 250);
mods.gregtech.Fuels.addGasTurbineFuel(<IC2:itemCellEmpty>, <IC2:itemCellEmpty:14>, 100);
mods.gregtech.Fuels.addThermalGeneratorFuel(<IC2:itemCellEmpty>, <IC2:itemCellEmpty:11>, 1000);
mods.gregtech.Fuels.addDenseFluidFuel(<IC2:itemCellEmpty>, <gregtech:gt.metaitem.01:30964>, 2000);
mods.gregtech.Fuels.addPlasmaGeneratorFuel(<IC2:itemCellEmpty>, <IC2:itemCellEmpty:2>, 20);
mods.gregtech.Fuels.addMagicGeneratorFuel(<gregtech:gt.metaitem.01:24532>, <minecraft:dragon_egg>, 20000);

Термоядерный реактор (ТЯР)
//OutputFluid, InputFluid1, InputFluid2, TimeInTicks, EnergyUsage, StartEnergy
mods.gregtech.FusionReactor.addRecipe(<liquid:potion.diablosauce.strong> * 5, <liquid:molten.plutonium> * 100, <liquid:molten.naquadah> * 50, 200, 5000, 10000000);

Компрессор внутреннего взрыва
//OutputArray, InputStack, TNTAmount
mods.gregtech.ImplosionCompressor.addRecipe([<minecraft:bedrock>, <gregtech:gt.metaitem.01:2816> * 16], <gregtech:gt.metaitem.01:21327> * 32, 64);

Токарный станок
//OutputArray, InputStack, TimeInTicks, EnergyUsage
mods.gregtech.Lathe.addRecipe([<minecraft:redstone>, <minecraft:stick>], <minecraft:redstone_torch>, 640, 16);

Миксер
//OutputStack, OutputFluid, InputArray, FluidInput, TimeInTicks, EnergyUsage
mods.gregtech.Mixer.addRecipe(<IC2:itemFertilizer>, <liquid:dye.watermixed.dyered> * 1000, [<minecraft:sand>, <minecraft:double_plant:4>], <liquid:water> * 1000, 100, 16);

Крекер
//OutputFluid, InputFluidTime, TimeInTicks, EnergyUsage
mods.gregtech.OilCracker.addRecipe(recipe needed);

Упаковщик
//OutputStack, InputStack1, InputStack2, TimeInTicks, EnergyUsage
mods.gregtech.Packer.addRecipe(<minecraft:iron_block>, <minecraft:iron_ingot> * 9, <gregtech:gt.metaitem.01:32497>, 50, 25);

Плазменная дуговая печь
//OutputArray, OutputFluid, InputStack, InputFluid, OutputArrayChances, TimeInTicks, EnergyUsage
mods.gregtech.PlasmaArcFurnace.addRecipe([<IC2:itemCellEmpty:13>], <liquid:nitrogen> * 250, <IC2:itemCellEmpty:14>, <liquid:plasma.nitrogen> * 250, [10000], 65, 30);

Прокатный стан
//OutputStack, InputStack, TimeInTicks, EnergyUsage
mods.gregtech.PlateBender.addRecipe(<IC2:itemDensePlates:7>, <gregtech:gt.metaitem.01:17804> * 9, 3600, 96);

Пильный станок
mods.gregtech.PlateCutter.addRecipe();

Поляризатор
//OutputStack, InputStack, TimeInTicks, EnergyUsage
mods.gregtech.Polarizer.addRecipe(<IC2:itemStaticBoots>, <minecraft:iron_boots>, 600, 30);

Лазерный гравировщик
//OutputStack, InputLens, InputStack, TimeInTicks, EnergyUsage
mods.gregtech.PrecisionLaser.addRecipe(<gregtech:gt.metaitem.02:29500>, <gregtech:gt.metaitem.01:24500> * 0, <minecraft:diamond> * 4, 1200, 480);

Принтер
//OutputStack, InputStack, InputStick, InputFluid, TimeInTicks, EnergyUsage
mods.gregtech.Printer.addRecipe(<minecraft:writable_book>, <minecraft:book>, <minecraft:feather>, <liquid:squidink>, 25, 15);

Дробитель
//OutputArray, InputStack, OutputArrayChances, TimeInTicks, EnergyUsage
mods.gregtech.Pulverizer.addRecipe([<minecraft:dirt>, <IC2:itemFuelPlantBall>, <minecraft:red_mushroom>, <minecraft:brown_mushroom>], <minecraft:dirt:2>, [10000, 3000, 1500, 1500], 400, 2);

Пиролизная печь
//OutputStack, OutputFluid, Circuit as Int, InputStack, InputFluidTime, TimeInTicks, EnergyUsage
mods.gregtech.PyrolYseOven.addRecipe(recipe needed);
 
Электромагнитный сепаратор
//OutputArray, InputStack, OutputArrayChances, TimeInTicks, EnergyUsage
mods.gregtech.Separator.addRecipe([<gregtech:gt.metaitem.02:27500>, <gregtech:gt.metaitem.01:1324> * 2, <gregtech:gt.metaitem.01:324> * 4],
<gregtech:gt.metaitem.01:2506>, [5000, 2000, 1500], 200, 300);

Просеиватель
//InputStack, OutputArrayChances, TimeInTicks, EnergyUsage
mods.gregtech.Sifter.addRecipe([<minecraft:wheat_seeds>, <gregtech:gt.metaitem.01:2299>, <IC2:itemFertilizer>], <minecraft:dirt>, [2000, 500, 250], 10, 5);OutputArray,

Ломтерезка
//OutputStack, InputStack, InputBlade, TimeInTicks, EnergyUsage
mods.gregtech.Slicer.addRecipe(<minecraft:melon> * 8, <minecraft:melon_block>, <gregtech:gt.metaitem.01:32398> * 0, 100, 8);

Распаковщик
//OutputStack1, OutputStack2, InputStack, TimeInTicks, EnergyUsage
mods.gregtech.Unpacker.addRecipe(<minecraft:sand> * 4, <minecraft:gunpowder> * 5, <minecraft:tnt>, 50, 200);

Вакуумный морозильник
//OutputStack, InputStack, TimeInTicks
mods.gregtech.VacuumFreezer.addRecipe(<IC2:itemCellEmpty:2>, <IC2:itemCellEmpty:11>, 50);

Протяжный стан
//OutputStack, InputStack, TimeInTicks, EnergyUsage
mods.gregtech.Wiremill.addRecipe(<minecraft:string> * 4, <minecraft:wool>, 100, 50);

= - =

Harvest Festival

Скрытый текст

Начиная с версии 0.5.4+ становятся доступны для добавления новых элементов:
Продажа предмета
Магазин товаров NPC

Начиная с версии 0.6.0+ становятся доступны для добавления новых элементов:
Чёрный список
Культуры
Подарки
 

Продажа предмета
//Используемый предмет, Цена
mods.harvestfestival.Shipping.addShipping(<minecraft:stick>, 100);
Добавление возможности продать такой-то предмет за столько-то.

Магазины
Для получения списка имён магазинов используйте команду /hf shops

//Имя магазина, Продаваемый предмет, Стоимость
mods.harvestfestival.Shops.addPurchasable("harvestfestival:cafe", <minecraft:stick>, 1000);

//Продаваемый предмет, Цена в дереве, Цена в камне, Цена в золоте
mods.harvestfestival.Shops.addPurchasableToBuilder(<minecraft:stick>, 100, 100, 1000);
Добавление продаваемого предмета в строительный магазин.


Команды (с версии 0.5.15+)
Для получения списка имён торговцев используйте команду /hf npcs
Для получения списка предметов, которые можно купить в магазинах, используйте команду /hf items [shopid]

Привязка магазина к НПС без магазина
//НПС ID, Имя магазина, Сообщение при открытии магазина, Время открытия магазина в часах, Время для следующего открытия магазина (опционально),
mods.harvestfestival.Shops.addShopToNPC("fenn", "Vinery", "Welcome to the vinery!", "monday,8000,22000;tuesday,3000,22000", "Well we're open from 8am to 10pm on Mondays and 3am to 10pm on Tuesdays!");

Удалить товар из магазина
//Имя магазина, ID продавца
mods.harvestfestival.Shops.removePurchasable("harvestfestival:barn", "harvestfestival_treat");

Корректировка стоимости предмета
//Имя магазина, ID покупаемого, Новая цена в золотых
mods.harvestfestival.Shops.adjustPurchasable("harvestfestival:barn", "entityharvestcow", 40000);

Регулировка цены плотника (работает только для предметов, для которых уже требуется дерево/камень)
 //ID покупаемого, Новая цена в дереве, Новая цена в камне, Новая цена в золоте
mods.harvestfestival.Shops.adjustCarpenter("harvestfestival_supermarket", 500, 100, 1000000);
 

Чёрный список (с версии 0.6.0+)
//Предмет
mods.harvestfestival.Blacklist.blacklistSeeds(<minecraft:wheat_seeds>);
Предотвращение посадки определённого вида семян.

//Предмет
mods.harvestfestival.Blacklist.blacklistHoe(<minecraft:stone_hoe>);
Предотвращение использования определённого вида мотыги.

//Предмет
mods.harvestfestival.Blacklist.blacklistGiftable(<minecraft:cake>);
Предотвращение дарения определённого предмета НПС'у.
 

Культуры
Для корректного добавления своей культуры, обязательно надо заполнить и .addCrop, и .setDrop.

//Не локализованное имя, Локализованное имя
mods.harvestfestival.Crops.addCrop("kiwi", "Kiwi");
Добавление новой культуры.

//Не локализованное имя, Предмет
mods.harvestfestival.Crops.setDrop("kiwi", <minecraft:potato>);
Добавление урожая для новой пользовательской культуры.

//Не локализованное имя, Выпадаемые предметы, Кол-во выпадаемого, Шансы на выпадение для каждого предмета (в процентах)
mods.harvestfestival.Crops.setDrops("kiwi", [<minecraft:potato>, <minecraft:carrot>], [1, 2], [25, 50]);
Добавления нескольких возможных урожаев с новой пользовательской культуры.

//Не локализованное имя, Кол-во стадий
mods.harvestfestival.Crops.setStages("kiwi", [1,2,3,4]);
Добавление стадий роста для уже существующей культуры.

//Не локализованное имя, Блок культуры, Кол-во стадий
mods.harvestfestival.Crops.setStages("kiwi", <harvestfestival:kiwi>, [1,2,3,4]);
Добавление стадий роста для пользовательской культуры.

//Не локализованное имя, Блок культуры, Кол-во стадий, Метаданные блоков
mods.harvestfestival.Crops.setStages("stoneCrop", <minecraft:stone>, [1,2,3,4,5,6,7], [0,1,2,3,4,5,6]);
Добавление пользовательских этапов рендеринга, используя метаданные.
В приведённом выше примере рассматриваются все метаданные камней, от обычного камня до полированного андезита.

//Не локализованное имя, Кол-во стадий, Строчные ID блоков, Метаданные блоков
mods.harvestfestival.Crops.setStages("test", [1,2,3], [<minecraft:tallgrass>, <minecraft:sapling>, <minecraft:leaves>], [2,1,1]);
Добавление пользовательских этапов рендеринга на основе определённых блоков.
Пример выше начинается с папоротника, затем превращается в саженец ели, а затем в еловые листья.

//Не локализованное имя, Имена сезонов (зима winter, весна spring, лето summer, осень autumn)
mods.harvestfestival.Crops.setSeasons("kiwi", ["summer", "autumn"]);
Установка сезонов, в которые может расти добавленный урожай. Это необходимо указать, чтобы семена появились в универсальном магазине.

//Не локализованное имя, Можно купить за кол-во золотых, Можно продавать за кол-во золотых
mods.harvestfestival.Crops.setValue("kiwi", 20, 10);
Установка стоимости и цены продажи пользовательского урожая.

//Не локализованное имя, Код цвета шестнадцатеричной системы
mods.harvestfestival.Crops.setSeedColor("kiwi", "9DAE5C");
Установка цвета мешка семян новой культуры.

//Не локализованное имя, Кол-во стадий
mods.harvestfestival.Crops.setRegrow("kiwi", 3);
Установка этапов для восстановления.

//Не локализованное имя, Максимальное кол-во сбора урожая
mods.harvestfestival.Crops.setMaxHarvests("kiwi", 2);
Установка макс. кол-ва сбора урожая (сколько раз можно собрать урожай, а после пойдёт отсчёт его восстановления).
Это требуется указать, чтобы setRegrow работал.

//Не локализованное имя, Тип еды
mods.harvestfestival.Crops.setFoodType("kiwi", "fruit");
Установка типа еды, к которому относится новая культура, все типы: REDMEAT (Красное мясо), CHICKEN (Курица), FISH (Рыба), SEED (Семена), VEGETABLE (Овощи), FRUIT (Фрукты), GRASS (Травянистое).

//Не локализованное имя, Год
mods.harvestfestival.Crops.setYearUnlocked("kiwi", 2);
После какого года будет разблокирована возможность выращивать этот урожай.

//Не локализованное имя, Минимальная стадия для сбора
mods.harvestfestival.Crops.setRequiresSickle("kiwi", 3);
Установка для пользовательского урожая, с какой минимум стадии урожай можно будет собрать серпом.
Если использовать -1, урожай можно будет собирать без серпа.

//Не локализованное имя, EnumТип растения
mods.harvestfestival.Crops.setPlantType("kiwi", "crop");
Установка типа растения для пользовательского урожая.

//Не локализованное имя, Нужна ли вода ложь/правда (false/tue)
mods.harvestfestival.Crops.setWaterRequirements("kiwi", true);
Установка нужна ли вода культуре.
 

Подарки

//То что будет подарком, Категория подарка
mods.harvestfestival.Gifting.addGift(<minecraft:potato>, "art");
mods.harvestfestival.Gifting.addGift("gemDiamond", "gem");
Добавление, в "то что будет подарком" строчный ID предмета (он же ItemStack) или запись словаря руд (он же Ore Dictionary), в качестве подарка в определённую категорию подарков.

= - =

IndustrialCraft2
Важно: для обновления скрипта с рецептами IndustrialCraft2 нужен полный перезаход в игру, чтобы рецепты связанные с IndustrialCraft2 обновились.

Скрытый текст

Разрядка электрического инструмента с помощью крафта.
val chainsaw = <IC2:itemToolChainsaw>.anyDamage();
recipes.addShapeless(<minecraft:stick> * 3, [<ore:plankWood>, chainsaw.onlyIC2ChargeAtLeast(100).transformIC2Discharge(100)]);
 

Механизмы и рецепты
import mods.ic2.Canner;
import mods.ic2.Compressor;
import mods.ic2.Extractor;
import mods.ic2.Macerator;
import mods.ic2.MetalFormer;
import mods.ic2.OreWasher;
import mods.ic2.ThermalCentrifuge;

Canner.addBottleRecipe(output, container, fillIngredient);
Canner.addBottleRecipe(output, container, water);
Canner.addEnrichRecipe(output, input, additiveItem);
Canner.addEnrichRecipe(output, input, additiveLiquid);

Compressor.addRecipe(<minecraft:planks>, <minecraft:stick>);
Extractor.addRecipe(<minecraft:wheat>, <minecraft:bread>);
Macerator.addRecipe(<minecraft:wheat> * 2, <minecraft:bread>);
MetalFormer.addCuttingRecipe(<minecraft:stick> * 3, <minecraft:planks:*>);
MetalFormer.addExtrudingRecipe(<minecraft:stick> * 3, <minecraft:planks:*>);
MetalFormer.addRollingRecipe(<minecraft:stick> * 3, <minecraft:planks:*>);
OreWasher.addRecipe([<minecraft:wheat>, <minecraft:wheat_seeds>], <minecraft:bread>, 1000); // 1000 = water usage
ThermalCentrifuge.addRecipe([<minecraft:wheat>, <minecraft:wheat_seeds>], <minecraft:bread>, 1000); // 1000 = minimum temperature
 

Чёрный список для утилизатора
import mods.ic2.Recycler;
Recycler.addBlacklist(<minecraft:planks:*>);
 

Добавление топлива в полужидкостный генератор
import mods.ic2.SemiFluidGenerator;
SemiFluidGenerator.addFluid(<liquid:lava> * 10, 5);
Первый аргумент это кол-во жидкости, которая используется за цикл, а второй это производство энергии в тик (в 1-й секунде 20 тиков). 

Добавление предметов ящик утильсырья
import mods.ic2.ScrapBox;
ScrapBox.addDrop(<minecraft:emerald>.weight(0.05));
Для справки: у алмаза "вес" 0,1, у земли "вес" 5, а у деревянных инструментов "вес" 1.

= - =

ImmersiveEngeneering

Скрытый текст

Дуговая печь
//OutputStack, InputStack, SlagOutput, Time in Ticks, Energy per Tick, AdditiveArray, RecipeTypeString
mods.immersiveengineering.ArcFurnace.addRecipe(<minecraft:gravel>, <minecraft:dirt> * 9, <ImmersiveEngineering:material:13>, 4600, 3600, [<ImmersiveEngineering:fluidContainers:4>], "Purifying");
Добавление рецепта. Либо создайте свои собственные страницы рецептов в NEI, со своими строками, либо используйте оригинальные.

//Удаляемое
mods.immersiveengineering.ArcFurnace.removeRecipe(<ImmersiveEngineering:metal:7>);
Удаление рецепта.


Доменная печь
Плавление
//OutputStack, InputStack, Time in Ticks, SlagOutput
mods.immersiveengineering.BlastFurnace.addRecipe(<ImmersiveEngineering:material:12>, <ImmersiveEngineering:material:11>, 4800, <ImmersiveEngineering:material:13>);
Добавление рецепта выплавки этого предмета.

//OutputStack
mods.immersiveengineering.BlastFurnace.removeRecipe(<ImmersiveEngineering:metal:7>);
Удаление рецепта выплавки этого предмета.

Топливо
//InputStack, Время в тиках (в 1-й секунде 20 тиков)
mods.immersiveengineering.BlastFurnace.addFuel(<ImmersiveEngineering:metal:17>, 1200);
Добавление предмета в качестве топлива.

//InputStack
mods.immersiveengineering.BlastFurnace.removeFuel(<ImmersiveEngineering:material:6>);
Удаление предмета, которое было в качестве топлива.


Наполняющий механизм
//OutputStack, InputStack, InputFluid
mods.immersiveengineering.BottlingMachine.addRecipe(<minecraft:packed_ice>, <minecraft:ice>, <liquid:water> * 1000);

//OutputStack
mods.immersiveengineering.BottlingMachine.removeRecipe(<minecraft:water_bucket>);


Коксовая печь
//OutputStack, FuelOutput, InputStack, Время в тиках (в 1-й секунде 20 тиков)
mods.immersiveengineering.CokeOven.addRecipe(<minecraft:coal:1> * 2, 500, <minecraft:chest>, 1800);

//OutputStack
mods.immersiveengineering.CokeOven.removeRecipe(<ImmersiveEngineering:material:6>);


Дробитель
//OutputStack1, InputStack, Кол-во энергии для всей операции, OutputStack2, OutputStack2Chance //Chance in Decimals
mods.immersiveengineering.Crusher.addRecipe(<ImmersiveEngineering:metal> * 8, <ImmersiveEngineering:storage:8>, 8000, <minecraft:iron_ingot>, 0.5);
Шансы в десятичном формате.

//OutputStack
mods.immersiveengineering.Crusher.removeRecipe(<minecraft:blaze_powder>);
 

Экскаватор
//MineralString, MineralWeight, FailChance, OreStringArray, OreChanceArray, DimensionIDArray, isWhitelistOrBlacklist (true=blacklist; false=whitelist)
mods.immersiveengineering.Excavator.addMineral("Sediment", 30, 15, ["sand", "sandstone"], [50, 15], [0, 1], false);

//MineralString
mods.immersiveengineering.Excavator.removeMineral("Bauxite");

//MineralString + OreString, Chance
mods.immersiveengineering.Excavator.getMineral("Magnetite").addOre("oreNickel", 0.75);

//MineralString + OreString
mods.immersiveengineering.Excavator.getMineral("Magnetite").removeOre("oreGold");


Увлажнитель
//OutputStack, OutputFluid, InputStack, Time in Ticks
mods.immersiveengineering.Fermenter.addRecipe(<minecraft:blaze_powder>, <liquid:lava> * 80, <minecraft:nether_wart>, 80);

//OutputStack
mods.immersiveengineering.Fermenter.removeItemRecipe(<minecraft:blaze_powder>);

//OutputFluid
mods.immersiveengineering.Fermenter.removeFluidRecipe(<liquid:ethanol>);
 

Металлический пресс
//OutputStack, InputStack, MoldStack, Energy, SizeValue
mods.immersiveengineering.MetalPress.addRecipe(<minecraft:stone_slab> * 2, <minecraft:stone>, <ImmersiveEngineering:mold>, 500, 50);

//OutputStack
mods.immersiveengineering.MetalPress.removeRecipe(<ImmersiveEngineering:metal:30>);

//MoldStack
mods.immersiveengineering.MetalPress.removeRecipeByMold(<ImmersiveEngineering:mold:2>);
 

Очиститель
//OutputFluid, InputFluid1, InputFluid2
mods.immersiveengineering.Refinery.addRecipe(<liquid:lava> * 16, <liquid:plantoil> * 8, <liquid:biodiesel> * 8);

//OutputStack
mods.immersiveengineering.Refinery.removeRecipe(<liquid:biodiesel>);
 

Промышленный пресс
//OutputStack, OutputFluid, InputStack, Time in Ticks
mods.immersiveengineering.Squeezer.addRecipe(<minecraft:melon_seeds> * 4, <liquid:water> * 500, <minecraft:melon_block>, 240);

//OutputStack
mods.immersiveengineering.Squeezer.removeItemRecipe(<minecraft:melon_seeds>);

//OutputFluid
mods.immersiveengineering.Squeezer.removeFluidRecipe(<liquid:plantoil>);

= - =

Magneticraft

Скрытый текст

Biomass Burner
mods.magneticraft.BiomassBurner.addFuel(<minecraft:sugar>, 50);
mods.magneticraft.BiomassBurner.removeFuel(<minecraft:sapling>);
 

Crusher
mods.magneticraft.Crusher.addRecipe(<minecraft:sandstone>, <minecraft:sand> * 2, <minecraft:sand>, 0.5, <minecraft:sand>, 0.2);
mods.magneticraft.Crusher.removeRecipe(<Magneticraft:salt_ore>);
 

Crushing Table
mods.magneticraft.CrushingTable.addRecipe(<minecraft:bucket>, <minecraft:iron_ingot> * 3);
mods.magneticraft.CrushingTable.removeRecipe(<Magneticraft:limestone>);
 

Grinder
mods.magneticraft.Grinder.addRecipe(<Magneticraft:roofTile> * 2, <minecraft:brick> * 2, <minecraft:brick> * 2, 0.8, <minecraft:brick>, 0.5);
mods.magneticraft.Grinder.removeRecipe(<minecraft:obsidian>);
 

Oil Distillery
mods.magneticraft.OilDistillery.addRecipe(<liquid:lava> * 100, <liquid:oil>, 200);
mods.magneticraft.OilDistillery.removeRecipe(<liquid:oil>);
 

Polymerizer
mods.magneticraft.Polymerizer.addRecipe(<liquid:oil> * 1000, <minecraft:leaves>, <Magneticraft:item.plastic>, 1000);
mods.magneticraft.Polymerizer.removeRecipe(<minecraft:coal>);
 

Refinery
mods.magneticraft.Refinery.addRecipe(<liquid:lava> * 1000, <liquid:hotcrude> * 600, <liquid:naturalgas> * 200, <liquid:oil> * 200);
mods.magneticraft.Refinery.removeRecipe(<liquid:oil>);
 

Sifter
mods.magneticraft.Sifter.addRecipe(<minecraft:glowstone_dust>, <Magneticraft:item.dust:1>, <Magneticraft:item.dustSulfur>, 0.8);
mods.magneticraft.Sifter.removeRecipe(<Magneticraft:item.pebbles>);
 

Thermopile
mods.magneticraft.Thermopile.addHotSource(<Magneticraft:blockhotcrude>, 100);
mods.magneticraft.Thermopile.addColdSource(<minecraft:packed_ice>, 100);
mods.magneticraft.Thermopile.removeHeatSource(<minecraft:ice>);

 = - =

MineFactoryReloaded

Скрытый текст

Чёрный список для авто-спавнера
import mods.mfr.AutoSpawner;
AutoSpawner.addBlacklist("mods.natura.entity.NitroCreeper");
AutoSpawner.removeBlacklist("mods.natura.entity.NitroCreeper");
 

Удобритель
У меня пока что информации про его взаимодействие с MineTweaker3.
 

Сборщик фруктов
У меня пока что информации про его взаимодействие с MineTweaker3.
 

Молотилка
У меня пока что информации про его взаимодействие с MineTweaker3.
 

Комбайн
import mods.mfr.Harvester;
Harvester.addHarvestable(<BiomesOPlenty:logs1:*>,"tree");
Harvester.addHarvestable(<BiomesOPlenty:leaves3:9>,"treeLeaf");

Harvester.addHarvestable(<BiomesOPlenty:logs2:*>,"tree");
Harvester.addHarvestable(<BiomesOPlenty:leaves1:10>, "treeLeaf");

Harvester.addHarvestable(<BiomesOPlenty:logs2:*>, <minecraft:stick> * 4, "tree");
Harvester.addHarvestable(<BiomesOPlenty:logs1:*>, [<minecraft:stick> * 4, <BiomesOPlenty:woodenDoubleSlab1:1> % 25], "tree");
 

Лазерный бур
import mods.mfr.MiningLaser;
MiningLaser.addOre(<tile.stone>.weight(1000));
MiningLaser.addOre((<tile.stone> * 2).withTag({Display: {Name: "Funny Stone"}}).weight(1000));
MiningLaser.removeOre(<tile.oreIron>);

MiningLaser.addPreferredOre(1, <tile.oreIron>);
MiningLaser.removePreferredOre(1, <tile.oreIron>);
 

Сеятель
import mods.mfr.Planter;
Planter.addPlantable(<BiomesOPlenty:saplings:10>);
 

Фермер
У меня пока что информации про его взаимодействие с MineTweaker3.
 

RedNet
У меня пока что информации про его взаимодействие с MineTweaker3.
 

Гевея
import mods.mfr.RubberTree;
RubberTree.addBiome("SuperXLBiome");
RubberTree.removeBiome("SuperXLBiome");
 

Сафари сеть
У меня пока что информации про его взаимодействие с MineTweaker3.
 

Перерабатывающий котёл
import mods.mfr.SludgeBoiler;
SludgeBoiler.addDrop(<minecraft:stick> * 16);
SludgeBoiler.addDrop(<TConstruct:CraftedSoil:4>.weight(10));
SludgeBoiler.removeDrop(<minecraft:dirt:1>);
 

Генератор биотоплива
В рецептах этого механизма невозможно изменить данные, но по идее почти всё что работает с сеятелем, будет работать и с генератором биотоплива.

 = - =

NEI

Скрытый текст

import mods.nei.NEI;

NEI.hide(<minecraft:bread>);
NEI.addEntry(<minecraft:bread>.withTag({display: {Name: "Tasty bread", Lore: ["Thanks to MineTweaker,", "We can now have tastier bread"]}}));
NEI.overrideName(<minecraft:stick>, "Sticky");

 = - =

TSteelworks

Скрытый текст

High Oven
mods.tsteelworks.highoven.addFuel(<minecraft:fire_charge>, 800, 5);
mods.tsteelworks.highoven.removeFuel(<minecraft:coal:1>);
mods.tsteelworks.highoven.addMeltable(<TConstruct:ore.berries.one:8>, true, <liquid:iron.molten> * 432, 600);
mods.tsteelworks.highoven.removeMeltable(<minecraft:iron_ore>);
 


mods.tsteelworks.mix.addOxidizer("treeLeaves", 60);
mods.tsteelworks.mix.addReducer("gemQuartz", 35);
mods.tsteelworks.mix.addPurifier("blockLimestone", 85);
mods.tsteelworks.mix.removeAgent("dustRedstone");

 
Рецепты смешивания
mods.tsteelworks.mix.addFluidMix(<liquid:iron.molten>, "treeLeaves", "gemQuartz", "blockLimestone", <liquid:steel.molten>);
mods.tsteelworks.mix.addSolidMix(<liquid:iron.molten>, "treeLeaves", "gemQuartz", "hambone", <minecraft:flint>);
mods.tsteelworks.mix.removeMix(<liquid:iron.molten>, "dustGunpowder", "dustRedstone", "blockSand");

 = - =

Witching Gadgets

Скрытый текст

Органщик камней
mods.witchinggadgets.GemCutting.addAffinity(<minecraft:nether_star>, ["aer", "ignis", "aqua", "ordo", "perdito"]);
mods.witchinggadgets.GemCutting.removeAffinity(<ore:gemDiamond>);
mods.witchinggadgets.GemCutting.addAversion(<minecraft:nether_star>, ["terra"]);
mods.witchinggadgets.GemCutting.removeAffinity(<ore:gemEmerald>);
 

Адская доменная печь
mods.witchinggadgets.InfernalBlastfurnace.addRecipe(<minecraft:netherbrick>, <minecraft:brick>, 200, <minecraft:dirt>, true);
mods.witchinggadgets.InfernalBlastfurnace.removeRecipe(<minecraft:iron_ingot>);
 

Прялка
mods.witchinggadgets.SpinningWheel.addRecipe(<Thaumcraft:blockWoodenDevice:8>, [<WitchingGadgets:item.WG_Material:1>, <WitchingGadgets:item.WG_Material:1>, <minecraft:dye:1>, <Thaumcraft:ItemResource:7>, <Thaumcraft:blockMagicalLog>]);
mods.witchinggadgets.SpinningWheel.removeRecipe(<WitchingGadgets:item.WG_Material>);

 

 

= - =
ChangeLog (документация по версиям мода MineTweaker3)

Скрытый текст

Логи версий полезны тем, что там можно найти информацию о функциях, которые не были упомянуты в вики, именно так, по наводке одного игрока, была в гайд добавлена информация о .maxDamage, добавлении твёрдости, установка макс. кол-ва предметов в стаке.
В или Б в конце сообщение означает что это Бета выпуск версии.

Переведённая версия:

Скрытый текст

Версия 3.0.10Б
Временно отключены проверки перезагрузки, поскольку они вызывали проблемы;
Исправлена ошибка, из-за которой рецепты иногда не перезагружались на серверах (спасибо mrammy);
Теперь можно установить максимальный урон (<myitem>.maxDamage = 123;).

Версия 3.0.10
Майнкрафт 1.8 теперь поддерживается!
Поддержка 1.6.4 и 1.7.2 прекращена;
Прекращена поддержка GregTech. Его заменил аддон GT5 от DreamMasterXXL;
Теперь вы можете установить твёрдость блока и максимальный размер стека. (<item>.hardness = 123; <item>.maxStackSize=4;);
Исправлена ошибка /mt help в некоторых случаях;
Исправлена ошибка, из-за которой файл Tools.jar не находился автоматически (спасибо RX-14);
Исправлен сбой в работе /mt hand в некоторых случаях;
Исправлено использование кавычек при настройке имён;
Исправлена интеграция с MFR сафари сетью;
Исправлена интеграция MFR удобрений;
game.lock() теперь можно использовать для предотвращения перезагрузки. Если потребуется перезагрузка, отобразится экран ошибки;
Перезагрузка скриптов теперь производится только в случае крайней необходимости.

Версия 3.0.9С
Исправлен откат удалённого рецепта, который был поломанным в некоторых редких случаях;
Временно отключена поддержка BuildCraft 6.1. Это устраняет сбой при запуске с BC 6.1.

Версия 3.0.9Б
Исправлены некоторые ошибки в сопоставлении данных, приводившие в некоторых случаях к сбоям при использовании onlyWithTag;
Исправлена проверка переменных при разрешении переменных (вызывало сбой);
Исправлено несколько саженцев с одинаковым ID, которые не работали в сеялке;
Исправлен сбой при использовании /mt hand на выделенном сервере;
В некоторых случаях исправлен сбой при использовании /mt recipes;
Добавлена пара недостающих функций для работы с рецептами комбайна.

Версия 3.0.9
Добавлена поддержка BuildCraft;
Улучшена обработка исключений; исключения, которые нарушают работу скриптов, теперь будут регистрироваться в журнале minetweaker для более эффективного исправления ошибок;
Выведенное /mt hand 'ом теперь копируется в буфер обмена;
Теперь /mt hand также будет выводит и информацию о записи oredict, в которой находится выбранный предмет;
Добавлена команда /mt recipes;
Добавлена ручная команда /mt recipes;
Теперь можно корректно добавлять строки и форматированные строки;
Удалена КОМАНДА: в файле minetweaker.log перед строками, сгенерированными командами.

Версия 3.0.8Б
Исправлен сбой обработчика печи в версии 1.7 в некоторых модах.

Версия 3.0.8
transformReplace теперь предоставляет заменяющий элемент в инвентаре игрока, если это порт стека (вместо изменения всего стека);
Добавлено преобразование noReturn, чтобы избежать возврата каких-либо предметов. Подавляет запрограммированное поведение ванили/мода, например, для возврата ведра после крафта;
Добавлены преобразования giveBack() и giveBack(item), которые позволяют вернуть предмет или заменяющий его предмет обратно в инвентарь, а не в верстак; Исправлены конфликты между трансформациями и поведением мода/ванили по умолчанию;
Добавлена поддержка всплывающих подсказок, включая форматированные всплывающие подсказки;
Добавлена возможность модам выполнять скрипты MineTweaker через сообщения IMC;
Портирована настройка лута из сундука от ModTweaker;
Портирован setLocatization из ModTweaker;
Добавлены сборки (в плане то, где находятся все компоненты кода мода) для разработчиков;
Исправлены звёздочки в многострочных комментариях, нарушающие анализ скрипта;
Исправлена функция удаления форменного рецепта (removeShaped), которая не работала должным образом, если не были указаны ингредиенты;
Исправлено addAll для записей словаря руд (oredict) в 1.7.10.

Версия 3.0.7
Добавлена поддержка MFR для версий 1.6.4 и 1.7.10 (ещё не все машины и документации завершены);
Добавлена команда /mt entities для просмотра всех зарегистрированных объектов;
Добавлена команда /mt biomes для просмотра всех биомов в игре;
Добавлена зеркализация рецепта;
Теперь можно заставить рецепты работать только в определённом режиме игры (gamemode);
Теперь можно создавать простые функциональные рецепты;
Исправлены пробелы в названиях предметов;
Добавлена команда для получения информации о блоке. (/mt blockinfo) Предоставляет информацию о блоках, на которые вы нажимаете;
Моды теперь могут использовать функцию onReload для выполнения определённых действий после перезагрузки;
Составные теги NBT с не идентифицирующими ключами теперь должны выводиться правильно.

Версия 3.0.6
Исправлен сбой при использовании команд minetweaker с консоли сервера.

Версия 3.0.5
Исправлено несколько машин GregTech;
Поддержка GregTech расширена до версии 1.7.2.

Версия 3.0.4
Исправлен сбой при открытии буфера обмена DartCraft;
Добавлена поддержка GregTech для 1.6.4.

Версия 3.0.3
Завершена поддержка IC2 (и расширена до версии 1.6.4);
Расширена поддержка NEI до версии 1.7.10;
Исправлен сбой при запуске в 1.7.10;
Теперь можно создавать предметы с помощью инструментов IC2, потребляя при этом энергию;
Исправлены сообщения чата версии 1.7.10, которые приводили к переполнению стека (stack overflow).

Версия 3.0.3B
Исправлена ошибка, из-за которой версия 1.7.10 не собиралась должным образом, из-за чего элементы не разрешались и нарушали весь интерфейс API в целом.

Версия 3.0.2
Добавлен интерфейс к игре, клиенту и серверу;
Добавлены трансформации;
Условия использования ингредиентов стали более практичными в использовании, импорт больше не требуется;
Начата реализация обработки событий;
Команды и логика перенесены в общий код API;
Добавлен общий интерфейс к рецептам MineTweaker;
Добавлены строчные методы;
Регистратор перемещён со статического значения на статический метод получения;
Исправлены сбои на выделенных серверах;
Исправлено разрешение скобок для значений <id:meta> в версии 1.6.4;
Исправлены скрипты, которые не отправлялись игрокам многопользовательской игре в версии 1.6.4.

Версия 3.0.1
Теперь внутриигровая команда minetweaker доступна только для ОП пользователей (можно сказать те, у кого есть доступ к консольным командам, по типу gamemode и т.д.);
Теперь можно открывать вики, то куда можно присылать отчёты об ошибках и форум с помощью команды /mt command (/mt wiki, /mt bugs, /mt forum).

Версия 3.0.0
Первоначальный выпуск.

- - -
Версия на английском:

Скрытый текст

Version 3.0.10B
Temporarily disabled reload checks as they caused trouble
Fixed recipes not reloading on servers, sometimes (thanks to mrammy)
Can now set max damage (<myitem>.maxDamage = 123;)

Version 3.0.10
Minecraft 1.8 is now supported!
Support for 1.6.4 and 1.7.2 has been dropped.
Retired GregTech support. This has been superseded by the GT5 addon by DreamMasterXXL.
You can now set block hardness and maximum stack size. (<item>.hardness = 123; <item>.maxStackSize=4;)
Fixed /mt help being broken in some cases
Fixed the tools.jar not being found automatically (credits to RX-14)
Fixed /mt hand crashing in some cases
Fixed usage of quotes when setting names
Fixed MFR Safari net integration
Fixed MFR Fertilizer integration
game.lock() can now be used to prevent reloading. Will show an error screen if reload was necessary
Reloading of scripts is now only performed if really necessary

Version 3.0.9C
Fixed removed recipe rollback being broken in some rare occurrences
Temporarily disabled support for BuildCraft 6.1 . This fixes a crash on startup with BC 6.1

Version 3.0.9B
Fixed some wrongs in data matching, causing crashes with onlyWithTag in some cases
Fixed a variable check when resolving variables (caused a crash)
Fixed multiple saplings with the same ID not working in the Planter
Fixed crash when using /mt hand on a dedicated server
Fixed crash in /mt recipes in some cases
Added a couple missing Harvester functions

Version 3.0.9
Added BuildCraft support
Improved exception handling; exceptions that break scripts will now log to the minetweaker log for better bugfixing
/mt hand now copies to the clipboard
/mt hand now also outputs the oredict entries it is in
Added /mt recipes command
Added /mt recipes hand command
Can now properly add strings and formatted strings
Removed COMMAND: in the minetweaker.log file in front of lines generated from commands

Version 3.0.8B
Fixed furnace handler crashing in 1.7 on some mods.

Version 3.0.8
transformReplace now gives the replacement item in the player inventory if it is port of a stack (instead of modifying the whole stack)
Added noReturn transformation to avoid any item from being returned. Suppresses programmed vanilla/mod behavior to, for example, given a bucket back.
Added giveBack() and giveBack(item) transformation to return the item, or a replacement item, back into the inventory instead of the crafting table. Fixes fighting between transformations and default mod/vanilla behavior.
Added tooltip support. Includes formatted tooltips.
Added ability for mods to execute MineTweaker scripts via IMC messages
Ported chest loot modification from ModTweaker
Ported setLocatization from ModTweaker
Added dev builds
Fixed asterisks in multiline comments breaking script parsing.
Fixed removeShaped function not working properly if no ingredients are given.
Fixed addAll for oredict entries in 1.7.10

Version 3.0.7
Added MFR support for 1.6.4 and 1.7.10 (not all machines and documentation is finished yet)
Added /mt entities command to see all registered entities
Added /mt biomes command to see all biomes in the game
Added mirrored shaped recipes
Can now make recipes work only in a specific game mode
Can now make simple function recipes
Fixed spaces in item names
Added block info command. Gives information about blocks you are clicking on
Mods can now use the onReload function to execute certain actions upon reload
NBT compound tags with non-identifier keys should now be output properly

Version 3.0.6
Fixed a crash when using minetweaker commands from the server console

Version 3.0.5
Fixed a couple GregTech machines
Expanded GregTech support to 1.7.2

Version 3.0.4
Fixes crash when opening DartCraft clipboard
Added GregTech support for 1.6.4

Version 3.0.3
Finished IC2 support (and extended it to 1.6.4)
Extended NEI support to 1.7.10
Fixed crash upon startup in 1.7.10
Can now craft with IC2 tools and have it consume energy upon crafting
Fixed 1.7.10 chat messages resulting in a stack overflow

3.0.3B: fixed 1.7.10 not being built properly, causing items not to be resolved and breaking the entire API interface in general

Version 3.0.2
Added interface to game, client and server
Added transformations
Made ingredient conditions more practical to use, no longer requires imports
Started implementation of event handling
Moved commands and logic to the common API code
Added common interface to MineTweaker recipes
Added string methods
Moved the logger from static value to static getter
Fixed crashes on dedicated servers
Fixed bracket resolution for <id:meta> values in 1.6.4
Fixed scripts not being sent to multiplayer clients in 1.6.4

Version 3.0.1
Secured the in-game minetweaker command to be op-only
Can now open wiki, bugs and forum from the /mt command (/mt wiki, /mt bugs, /mt forum)

Version 3.0.0
Initial release.

 

= - =


Руководство по ModTweaker
Аддон для MineTweaker3/CraftTweaker. (немного пустовато, в процессе написания)

Скрытый текст

Взаимодействия ModTweaker с Thaumcraft4:
Магический верстак; Аспекты; Тигель; Наполнение; Лут; Искажение; Исследования.

Скрытый текст

Команды:
/minetweaker aspectList выводит в minetweaker.log список всех аспектов
/minetweaker entities выводит в minetweaker.log список всех сущностей
/minetweaker research [CATEGORY] выводит в minetweaker.log список всех исследований

Магический верстак:
//ResearchString, OutputStack, AspectString, InputArray
mods.thaumcraft.Arcane.addShaped("ASPECTS", <minecraft:stonebrick:3> * 4, "ordo 1", [[<minecraft:stonebrick>, <minecraft:stonebrick>, null], [<minecraft:stonebrick>, <minecraft:stonebrick>, null], [null, null, null]]);
Добавления форменного рецепта создания выбранного предмета на магическом верстаке.

//ResearchString, OutputStack, AspectString, InputArray
mods.thaumcraft.Arcane.addShapeless("VOIDMETAL", <minecraft:ghast_tear>, "aqua 6, terra 6, perditio 6, ordo 6, aer 6, ignis 6", [<minecraft:ender_pearl>, <Thaumcraft:ItemResource:17>]);
Добавление бесформенного рецепта создания выбранного предмета на магическом верстаке.

//OutputStack
mods.thaumcraft.Arcane.removeRecipe(<Thaumcraft:ItemArcaneDoor>);
Удаление рецепта создания выбранного предмета на магическом верстаке.
 
Аспекты:
//InputStack, AspectString
mods.thaumcraft.Aspects.add(<minecraft:saddle>, "motus 4");
Добавление кол-ва аспектов выбранному предмету.

//InputStack, AspectString
mods.thaumcraft.Aspects.set(<Thaumcraft:ItemBucketPure>, "aqua 4, metallum 8, vacous 1, sano 2, auram 2");
Установка кол-ва аспектов для выбранного предмета.

//InputStack, AspectString
mods.thaumcraft.Aspects.remove(<minecraft:glowstone_dust>, "lux 2");
Удаление аспектов из выбранного предмета.

//EntityString, AspectString
mods.thaumcraft.Aspects.addEntity("Skeleton", "lucrum 2, mortuus 1");
Добавление кол-ва аспектов для сущности.

//EntityString, AspectString
mods.thaumcraft.Aspects.setEntity("Arrow", "telum 1");
Установка кол-ва аспектов для сущности.

//EntityString, AspectString
mods.thaumcraft.Aspects.removeEntity("Creeper", "ignis 2");
Удаление аспектов в выбранной сущности.

Тигель:
//ResearchString, OutputStack, InputStack, AspectString
mods.thaumcraft.Crucible.addRecipe("ENTROPICPROCESSING", <minecraft:dirt>, <minecraft:sapling>, "terra 2, perditio 4");
Добавление рецепта создания в тигеле.

//OutputStack
mods.thaumcraft.Crucible.removeRecipe(<Thaumcraft:ItemResource:2>);
Удаление рецепта создания этого предмета через тигель.

Наполнение:
//ResearchString, MainInputStack, InputArray, AspectString, OutputStack, InstabilityAmount
mods.thaumcraft.Infusion.addRecipe("NITOR", <Thaumcraft:ItemResource:1>, [<minecraft:fire_charge>, <Thaumcraft:ItemResource>, <minecraft:flint_and_steel>], "ignis 20, potentia 10, permutatio 12", <minecraft:fire> * 4, 5);
Добавление рецепта создания этого предмета на наполнении.

//OutputStack
mods.thaumcraft.Infusion.removeRecipe(<Thaumcraft:ItemAmuletVis:1>);
Удаление рецепта создания этого предмета на наполнении.

//ResearchString, EnchantmentID, InstabilityAmount, AspectString, InputArray,
mods.thaumcraft.Infusion.addEnchantment("XPBOOST", 45, 5, "victus 10, cognitio 8, vitreus 6",  [<minecraft:experience_bottle>, <minecraft:experience_bottle>, <minecraft:experience_bottle>, <Thaumcraft:ItemResource:14>]);
Добавление рецепта этого зачарования через наполнение.

//EnchantmentID
mods.thaumcraft.Infusion.removeEnchant(1);
Удаления рецепта этого зачарования через наполнение.

Лут:
//InputStack, Weight
mods.thaumcraft.Loot.addCommonLoot(<Thaumcraft:ItemNugget:16>, 40);
mods.thaumcraft.Loot.addUncommonLoot(<Thaumcraft:ItemNugget:31>, 20);
mods.thaumcraft.Loot.addRareLoot(<Thaumcraft:ItemEldritchObject:3>, 5);

//InputStack
mods.thaumcraft.Loot.removeCommonLoot(<Thaumcraft:ItemBaubleBlanks>);
mods.thaumcraft.Loot.removeUncommonLoot(<Thaumcraft:ItemRingRunic>);
mods.thaumcraft.Loot.removeRareLoot(<minecraft:golden_apple:1>);

Искажение:
//ResearchString, WarpAmount
mods.thaumcraft.Warp.addToResearch("BATHSALTS", 5);

//InputStack, WarpAmount
mods.thaumcraft.Warp.addToItem(<Thaumcraft:ItemBathSalts>, 5);

//ResearchString
mods.thaumcraft.Warp.removeFromResearch("BOTTLETAINT");

//InputStack
mods.thaumcraft.Warp.removeFromItem(<Thaumcraft:ItemBottleTaint>);

//Overall Warp Removal
mods.thaumcraft.Warp.removeAll();
mods.thaumcraft.Warp.removeAllResearch();
mods.thaumcraft.Warp.removeAllItems();

Исследования:

Скрытый текст

Основы
У каждого исследования есть уникальная строка его имени, назовём её ключом. Общая схема именования заключается в том, что ключ должен быть написан заглавными буквами. За исключением деталей жезлов, у которых форма обычно такой: ROD_text или CAP_texttext.

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

Вы можете получить список всех ключей исследования в категории, с помощью команды /minetweaker research название категории, для того чтобы в minetweaker.log вывело список всех исследований. Например, команда /minetweaker research BASICS выведет все ключи исследования вкладки «Основы».

Удаление исследований
Исследования можно удалить с помощью метода .removeResearch(). Однако, если исследование использовалось в качестве предварительного условия для чего-либо и было удалено, произойдёт краш, при открытии вкладки этого исследования в Таумономиконе. Вы можете использовать .orphanResearch(), чтобы отключить все связи у этого исследования, для его безопасного удаления, или использовать .clearPrereqs(), чтобы очистить предварительные условия того или иного исследования.

Пример:
//Ключ исследования
mods.thaumcraft.Research.orphanResearch("ROD_greatwood");
mods.thaumcraft.Research.removeResearch("ROD_greatwood");

Вкладки исследований
У каждой вкладки исследований тоже есть свой уникальный ключ.
Это важно знать, если Вы хотите удалить целую вкладку или поместить в неё новое исследование.

Ключи вкладок исследований:
* BASICS (Основы)
* THAUMATURGY (Таумотургия)
* ALCHEMY (Алхимия)
* ARTIFICE (Изобретения)
* GOLEMANCY (Големоведенье)
* FORBIDDEN (Apocrypha, Апокрифы)
* TT_CATEGORY (Thaumic Tinkering, Таум-инженерия)
* TX (Thaumic Esoterica, Таум-Эзотерика)
* RAILCRAFT (Traheremagy)
* WITCHGADG (Witching Gadgets, Ведьмовские принадлежности)
Для получения всех ключей исследований используется /minetweaker research, они выведутся они в minetweaker.log.

Удаление вкладок
Удаление вкладки исследований также удаляет все исследования в удаляемой вкладке, что может привести к сбоям, если они являются обязательными для каких-то исследований из других вкладок. Используйте orphanResearch(), чтобы разорвать все связи с исследованиями на вкладке, перемещаете все исследования на другую вкладку или придерживайтесь удаления небольших вкладок, в которых ничего нет связанного, например Traheremagy.
Пример:
//TabKey
mods.thaumcraft.Research.removeTab("RAILCRAFT");

Создание вкладок
Для создания вкладки исследований требуется изображение для значка вкладки. Вам понадобится ключ с ID мода (если Вы будете брать текстуру из уже готового мода) и путь к файлу текстуры.
Вам также потребуется создать локализацию имени вкладки, либо с помощью пакета ресурсов, либо через взаимодействие с локализацией ModTweaker'а.
Ключом локализации всегда будет «tc.research_category», за которым следует клавиша табуляции?.

Например, если вам нужна вкладка со значком мозга зомби из Thaumcraft 4:
//TabKey, Domain, Path
mods.thaumcraft.Research.addTab("DEMENTIA", "thaumcraft", "textures/items/brain.png");
game.setLocalization("en_US", "tc.research_category.DEMENTIA", "Dementia");
Вкладки также можно создавать с собственным фоном, если вы предоставите текстуру:

//TabKey, IconDomain, IconPath, BackgroundDomain, BackgroundPath
mods.thaumcraft.Research.addTab("AHPYRCOPA", "forbidden", "textures/items/spork.png", "forbidden", "textures/misc/runecircle.png");
game.setLocalization("en_US", "tc.research_category.AHPYRCOPA", "Not Apocrypha");

Создание исследований и локализация
Исследование создаётся с помощью уникального ключа, ключа вкладки исследования, списка аспектов, координат, рейтинга сложности, а также пути текстуры или "ItemStack" для присвоения ему значка. Как и при создании вкладки исследований, создание нового исследования требует добавление ей локализации.

Если исследование добавляется через ModTweaker, его имя локализуется как «tc.research_name». с последующим ключом исследования.
Его всплывающей подсказке локализация присваивается через «tc.research_text», за которым следует ключ.

Аспекты вводятся в виде одной строки со списком аспектов и значений, разделённых запятыми.
Если вы планируете сделать автоматическое разблокирование исследования, можно оставить его без аспектов и просто ввести нулевое значение в качестве списка аспектов.

Координаты аспекта отличаются от стандартных математических координат. Уменьшение Y перемещает исследование вверх, а увеличение Y — вниз.
Увеличение X перемещает исследование дальше вправо, как и следовало ожидать.

Пример:
//ResearchKey, TabKey, AspectList, X, Y, Complexity, ItemStack //Make sure that the X and Y coordinates of your research doesn't conflict with other researches
mods.thaumcraft.Research.addResearch("WPLANTS", "BASICS", "lucrum 100, alienis 200", 1, 0, 8, <minecraft:sapling>);
game.setLocalization("en_US", "tc.research_name.WPLANTS", "Trees!");
game.setLocalization("en_US", "tc.research_text.WPLANTS", "[MT] Science just doesn't know!");

Добавление страниц в исследование
Просто провести базовое исследование недостаточно. Базовое исследование, которое без страниц, при попытки его открыть приводит к сбою игры.
После создания исследования вы можете использовать .addPage() для добавления новых страниц. Просто введя ключ и ключ локализации, вы добавите обычную текстовую страницу, которую можно будет заполнить локализацией.

Пример:
//ResearchKey, LocalizationKey mods.thaumcraft.Research.addPage("WPLANTS", "derp.research_page.WPLANTS"); game.setLocalization("en_US", "derp.research_page.WPLANTS", "Растения?! Что это такое? Таумометр не знает!");
При локализации текста для страниц исследований можно использовать следующую разметку:

# Special formatting codes:
# <BR> or <BR/>         Paragraph break (<BR/> is included for people using XML for their localization)
# <LINE> or <LINE/>     Insert a fancy linebreak between sections of text.
# <IMG>...</IMG>  Insert a centered image into text. Parameters are separated by ':' and are:
#                    - mod resource location name
#                    - png file location (assumed to be a 256x256 texture, a sub-image will be grabbed from this png as specified below)
#                    - x location of sub-image in png
#                    - y location of sub-image in png
#                    - x size of sub-image (255 if full x size of png must be used)
#                    - y size of sub-image (255 if full y size of png must be used)
#                    - scaling - 1.0 for normal 256x256 images, or smaller for proportionately smaller .png files (a 16x16 image will be 0.0625)   
#               Examples: 
#                   <IMG>thaumcraft:textures/gui/gui_researchbook.png:24:184:96:4:1.0</IMG>   <-- line break image as used in <LINE> above
#                   <IMG>thaumcraft:textures/items/alumentum.png:0:0:255:255:0.0625</IMG>     <-- alumentum item icon

Для добавления страниц с рецептами можно использовать следующие методы.
Каждый из них принимает ключ и "ItemStack" в качестве аргумента и добавляет страницу, отображающую первый рецепт для этого элемента, если он может его найти. Обязательно добавьте рецепт продукта, прежде чем пытаться добавить страницу с рецептом.

//Adds a normal crafting table recipe page
mods.thaumcraft.Research.addCraftingPage("WPLANTS", <minecraft:planks>);
//Adds an arcane crafting table recipe page
mods.thaumcraft.Research.addArcanePage("WPLANTS", <Thaumcraft:WandRod>);
//Adds a crucible recipe page
mods.thaumcraft.Research.addCruciblePage("WPLANTS", <Thaumcraft:ItemResource:1>);
//Adds an infusion recipe page
mods.thaumcraft.Research.addInfusionPage("WPLANTS", <Thaumcraft:WandRod:2>);
Infusion Enchanting pages can be added by supplying the key and the Enchantment ID.

mods.thaumcraft.Research.addEnchantmentPage("WPLANTS", 18);

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

Объединение исследований
В исследовании есть три типа связей: родители, скрытые родители и братья и сестры.

Родители — это необходимые исследования, которые вам необходимо разблокировать, прежде чем вы сможете исследовать конкретное исследование. Например, родительскими элементами ROD_silverwood являются INFUSION и ROD_greatwood. Вы не можете исследовать Серебряный жезл, не изучив предварительно Наполнение и Великодревесный жезл. Если исследование находится на той же странице, что и его родители, Таумономикон проведёт линию от родителя к ребёнку, чтобы указать, что к чему ведёт.

Скрытые родители подобны Родителям, за исключением того, что Таумономикон не проводит границу между ними, даже если они находятся на одной странице. Используйте это, если хотите уменьшить беспорядок на вкладке исследований.

Чтобы добавить родителей или скрытых родителей в исследование:
//Ключ исследования, Что надо изучить для открытия того исследования, ключ которого в начале вписывали, Будет ли исследование скрытым
mods.thaumcraft.Research.addPrereq("WPLANTS", "ICHOR", false);
Братья и сестры — это исследования, которые автоматически разблокируются вместе с конкретным исследованием. Например, у DISTILLESSENTIA есть родственный JARLABEL. Когда вы исследуете «Дистилляцию эссенции», вы автоматически разблокируете исследование «Этикетка для баночки». Когда братья и сестры находятся на одной вкладке, Таумономикон проведет между ними линию.

Чтобы добавить родственное следование в исследование:
//Ключ исследования, Sibling
mods.thaumcraft.Research.addSibling("WPLANTS, "ZOMGSAPLINGS");

Чтобы изменить родителей или братьев для существующего исследования, вам нужно будет использовать следующие команды, чтобы очистить эти значения, а затем добавить свои собственные.

//Ключ исследования
mods.thaumcraft.Research.clearPrereqs("ICHOR");
mods.thaumcraft.Research.clearSiblings("WTFPLANTS");
Модификация исследований
Существует множество тегов и дополнительных команд для добавления дополнительных функций к созданному вами исследованию или изменения существующих.

Вот некоторые стандартные теги исследований:
Round (круглый) — Исследования отмечены круглым значком в Таумономиконе. Обычно для исследований без рецептов или исследований, открываемых автоматически.
Spikey (шипастик) — вокруг значка исследования имеются шипы. Обычно для указания того, что исследование важно.
Stub (оранжевое исследование) — Игрок не может исследовать исследование. Обычно для исследований, которые открываются другими способами, такими как братья и сестры или автоматическая разблокировка.
Secondary (восьмиугольник) — Исследования имеют восьмиугольный значок в Таумономиконе и приобретаются за очки, а не за исследование.
Virtual (не изучаемое инструментальное) — Исследования на самом деле не существуют и не могут быть исследованы. Используется как «родительское» исследование, которое обычно невозможно разблокировать.
AutoUnlock (автоматически открытое) — Исследования начинаются уже разблокированными.
Concealed (скрытое) — Исследования не появляются в Таумономиконе до тех пор, пока не будут завершены его родительские исследования. Используется для большинства исследований по умолчанию. Их можно установить следующими командами:

//Ключи изучения, Value (значение правда/ложь)
mods.thaumcraft.Research.setRound("WPLANTS", true);
mods.thaumcraft.Research.setSpikey("WPLANTS", true);
mods.thaumcraft.Research.setStub("WPLANTS", true);
mods.thaumcraft.Research.setSecondary("WPLANTS", true);
mods.thaumcraft.Research.setVirtual("WPLANTS", true);
mods.thaumcraft.Research.setAutoUnlock("ASPECTS", false);
mods.thaumcraft.Research.setConcealed("WPLANTS", true);

Изменение аспектов уже существующего исследования
Вы можете изменить аспекты существующего исследования. Аспекты определяют, какие и сколько очков исследования вам нужно для приобретения исследования в лёгком режиме исследования или второстепенного исследования. Они также определяют, какие аспекты вам нужно будет подключать во время исследовательской мини-игры для не второстепенных исследований или в режиме сложного исследования.

//Ключ исследования, Аспекты
mods.thaumcraft.Research.setAspects("WPLANTS", "lucrum 39, perditio 96, potentia 100");
Сложность – это то, что определяет уровень сложности исследования.
Чем выше уровень сложности исследования, тем более раздражающей она будет в исследовательской мини-игре.

//Ключ исследования, Complexity
mods.thaumcraft.Research.setComplexity("WPLANTS", 16);
Если вы пытаетесь изменить страницы существующего исследования, вам сначала необходимо очистить страницы исследования следующим образом:

//Ключ исследования
mods.thaumcraft.Research.clearPages("WPLANTS");
Очистив все страницы, вы можете вручную добавить страницы обратно в любом формате.

Обычно, когда вы меняете рецепт Thaumcraft'а, на странице его исследования все равно отображается исходный рецепт.
Вы можете изменить это вручную, очистив все страницы и добавив их обратно, или вы можете использовать метод ниже, чтобы попытаться принудительно обновить рецепт:

//Ключ исследования
mods.thaumcraft.Research.refreshResearchRecipe("WPLANTS");
Обновление исследования будет работать только в том случае, если рецепт остаётся того же типа (Магический верстак, Наполнение и т. д.), например, вы изменяете рецепт предмета из Thaumcraft 4, он раньше крафтился через магический верстак и по новому кастомному крафту он тоже крафтится через магический верстак, значит для обновления исследования вы можете использовать .refreshResearchRecipe, а если вы поменяете тип крафта, например, с магического верстака на наполнение через руническую матрицу, в таком случае .refreshResearchRecipe НЕ поможет.
То есть, если вы меняете тип, через что будет крафтиться предмет, вам придётся вручную очистить страницы исследования и добавить их обратно с новым типом рецепта.

Перемещение существующего исследования
Наконец, если вы хотите переместить уже существующее исследование в другое место и/или на другую вкладку, вы можете использовать это:

//ResearchKey, DestinationCategory, X, Y
mods.thaumcraft.Research.moveResearch("INFERNALFURNACE", "FORBIDDEN", 1, 0);

 

 

Скрытый текст

 

 

= - =


Руководство по ContentTweaker
Аддон для MineTweaker3/CraftTweaker.

Скрытый текст

(курсивом отмечены опциональные параметры)

Добавление блока:
//Локализованное (переведённое) имя, имя без локализации, имя материала, имя текстуры, далее идут опциональные вещи: в какой креативной вкладке будет блок, тип рендера , какие предметы при разрушении блока выпадут, неразрушаемый ли блок, какая прочность у блока, какой уровень освещения излучает блок, на сколько блок непрозрачный
mods.content.Block.registerBlock("Content", "content_block", "rock", "content_block", "misc", 1, [<minecraft:dirt>, <minecraft:diamond>], false, 0.5f, 0.8f, 2);

Добавление предмета:
//Локализованное (переведённое) имя, имя без локализации, имя текстуры, далее идут опциональные вещи: в какой креативной вкладке будет предмет, прочность предмета, сколько этого предмета максимум может быть в стаке, какой тип инструмента у предмета, какой уровень добычи у предмета, полностью ли он будет в 3D, описание предмета
mods.content.Item.registerItem("Content", "content", "content_item", "misc', 50, 1, "pickaxe", 2, true, ["I am the tooltip text", "I am also!"]);

Добавление жидкости:
//Имя без локализации, плотность, газообразная ли жидкость, светится ли она, температура, вязкая ли она, цвет, поджигает ли она, далее идут опциональные вещи: какой ID материала она использует, своя текстура с анимацией бездействия, своя текстура с анимацией движения жидкости
mods.content.Fluid.registerFluid("content", 5,false,1,300,20,3914239, true,  50, "content_still", "content_flowing"

Для жидкостей можно добавить текстуру. Если Вы не добавляете текстуру, будет выбрана та текстура что по умолчанию.
Помещать текстуру в "/config/contenttweaker/icons/blocks/"

 

А ещё можно добавить свой материал в TConstruct с помощью ContentTweaker
Добавление материала для TConstruct:
//Локализованное (переведённое) имя, имя без локализации, цвет имени, ресурс для этого материала, ID материала, уровень добычи, прочность, скорость копания, урон, укрепление, основной цвет, значение, модификатор рукояти, double stonebound?, boolean buildParts, кол-во модификаций, описание, вес стрелы, шанс поломки стрелы, скорость натяжения лука, максимальная скорость лука, далее идут опциональные вещи IItemStack[][] nativeModifiers, String[] nativeEnchantments
mods.content.Material.registerMaterial("Content", "content", "§1", <minecraft:diamond>, 50, 8, 80, 8, 4, 0, 3914239, 1, 2, 0, true, 0, "hello", 1, 2, 3, 2, [[<minecraft:redstone>*5]], "16 3");

= - =

Источники, информация из которых была или взята куском,
или перефразирована и ссылка на сам мод MineTweaker3:

[1] Архивированная версия вики по MineTweaker3: https://web.archive.org/web/20220713052708/http://minetweaker3.powerofbytes.com/wiki/Main_Page
[2] Мод MineTweaker3: https://legacy.curseforge.com/minecraft/mc-mods/minetweaker3
[3] ContentTweaker добавление блоков и предметов: https://docs.blamejared.com/MineTweaker/en/contenttweaker/blockitem_support

И то что не использовалось для создания этого гайда, но было найдено в процессе сбора информации:
[4] Не официальная документация по MineTweaker: https://minetweaker.github.io/post.html
[5] Ещё не официальная документация по MineTweaker: https://github.com/MineTweaker/minetweaker.github.io/blob/main/post.md

Изменено пользователем Nukio
Добавление нескольких разделов, источников и новой части. Уточнение одного момента в описании. Добавление информации.
  • Спасибо 1
Ссылка на комментарий
  • 3 weeks later...

Йоу, у меня вырисовался вопрос по теме. Если я допустим, хочу изменить лут в сундуках мода, что добавляет структуру с подземельями. Как мне прикрепить модификацию к скрипту, для добавления тех или иных ресурсов в её сундуки? Я попробовал, разные варианты что сам мог представить, но у меня ничего не получилось. Не могли бы вы раскрыть данную тему по подробнее. При упоминании и демонстрации добавления лута в сундуки данжей редактирование модификаций никак не продемонстрировано, поэтому я - как человек не шарящий нихрена не понял. Если объясните этот момент - очень мне поможете.

29.05.2023 в 23:42, Nukio сказал:

vanilla.loot.addChestLoot("dungeonChest", <minecraft:cookie>.weight(100), 1, 5);

Как поменять "vanilla" на нужный мне мод, и что я должен сделать в процессе. Нужно ли мне как-то менять строчки "dungeonChest", а также - предмет что я хочу положить туда пишется как  <minecraft:cookie>, или мне нужно написать его id типо - #0357, или вообще вот так <minecraft:#0357>?
Очень прошу ответить, кроме вашей статьи я не нашел ни одного упоминания данной механики мода во всем интернете, а другие способы по добавлению лута уже себя исчерпали и никак не помогли. Работаю на 1.6.4, но думаю что и ваш гайд скорее всего сойдет, и разница не такая большая.

Ссылка на комментарий
20.06.2023 в 17:58, Brubts сказал:

Йоу, у меня вырисовался вопрос по теме. Если я допустим, хочу изменить лут в сундуках мода, что добавляет структуру с подземельями. Как мне прикрепить модификацию к скрипту, для добавления тех или иных ресурсов в её сундуки? Я попробовал, разные варианты что сам мог представить, но у меня ничего не получилось. Не могли бы вы раскрыть данную тему по подробнее. При упоминании и демонстрации добавления лута в сундуки данжей редактирование модификаций никак не продемонстрировано, поэтому я - как человек не шарящий нихрена не понял. Если объясните этот момент - очень мне поможете.

Как поменять "vanilla" на нужный мне мод, и что я должен сделать в процессе. Нужно ли мне как-то менять строчки "dungeonChest", а также - предмет что я хочу положить туда пишется как  <minecraft:cookie>, или мне нужно написать его id типо - #0357, или вообще вот так <minecraft:#0357>?
Очень прошу ответить, кроме вашей статьи я не нашел ни одного упоминания данной механики мода во всем интернете, а другие способы по добавлению лута уже себя исчерпали и никак не помогли. Работаю на 1.6.4, но думаю что и ваш гайд скорее всего сойдет, и разница не такая большая.

Добрый день. Похоже в Roguelike Dungeon надо как-то через конфиги уже от самого Roguelike Dungeon настраивать лут.
Там они насколько понимаю идут такими наборами. Но как с ними на 1.6.4 работать я не знаю. Про работу с ними на 1.7.10 есть видео, в личные сообщение было отправлено.
А уже ванильные значения, вроде того же добавления или удаления тех или иных предметов из группы сокровищ, например, mineshaftCorridor (коридор заброшенной шахты) уже через MineTweaker3 можно сделать.

Изменено пользователем Nukio
Ссылка на комментарий
  • Nukio changed the title to MineTweaker3/CraftTweaker | ModTweaker | ContentTweaker [1.7.10]

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...