Admin (обсуждение | вклад) м (Admin moved page CoreEngine/Рецепты to InnerCore/Рецепты) |
Admin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | <div class="b-pageLayout b-pageLayout__xs" data-layout="xs" id="pageLayout"><div class="b-pageContent | + | <div class="b-pageLayout b-pageLayout__xs" data-layout="xs" id="pageLayout"><div class="b-pageContent m-pageContent__withoutLeft m-pageContent__withoutRight" id="pageContent"> |
− | + | Добавление рецептов крафта и переплавки - то, без чего не обойдется никакой мод. | |
− | |||
− | Добавление рецептов крафта и переплавки - то, без чего не обойдется никакой мод | ||
| | ||
Строка 9: | Строка 7: | ||
Рецепты верстака бывают 2х типов: форменные и бесформенные, первый тип требует того, чтобы предмет был выложен на верстаке в какой то определенной форме, второй требует лишь соблюдения присутсвия и кол-ва предметов в сетке крафта, но не требует порядка. Особенностью форменных рецептов является то, что если рецепт занимает область меньше, чем 3х3, то он может быть выложен в любой области верстака для его выполнения. | Рецепты верстака бывают 2х типов: форменные и бесформенные, первый тип требует того, чтобы предмет был выложен на верстаке в какой то определенной форме, второй требует лишь соблюдения присутсвия и кол-ва предметов в сетке крафта, но не требует порядка. Особенностью форменных рецептов является то, что если рецепт занимает область меньше, чем 3х3, то он может быть выложен в любой области верстака для его выполнения. | ||
− | |||
− | |||
Для добавления форменных рецептов используется функция Recipes.addShaped({id: id результата, count: кол-во результата, data: data результата}, форма рецепта, определение предметов, функция выполнения, префикс) - в обычном рецепте последние 2 параметра можно и нужно опустить, о них будет рассказано позже. | Для добавления форменных рецептов используется функция Recipes.addShaped({id: id результата, count: кол-во результата, data: data результата}, форма рецепта, определение предметов, функция выполнения, префикс) - в обычном рецепте последние 2 параметра можно и нужно опустить, о них будет рассказано позже. | ||
− | |||
− | |||
Форма рецепта задается массивом строк, которые соответсвуют строкам в форме рецепта, где каждый символ означает предмет, а пробел - отсутсвие предмета. | Форма рецепта задается массивом строк, которые соответсвуют строкам в форме рецепта, где каждый символ означает предмет, а пробел - отсутсвие предмета. | ||
Разъяснение предметов это массив, в котором данные идут в порядке ['символ1', id1, data1, 'символ2', id2, data2, ...], и так для всех символов, которые использовались в форме рецепта, кроме пробела. Если data предмета не важна (к примеру вы хотите, чтобы в рецепте использовались доски любого типа), то вместо нее напишите -1. | Разъяснение предметов это массив, в котором данные идут в порядке ['символ1', id1, data1, 'символ2', id2, data2, ...], и так для всех символов, которые использовались в форме рецепта, кроме пробела. Если data предмета не важна (к примеру вы хотите, чтобы в рецепте использовались доски любого типа), то вместо нее напишите -1. | ||
− | |||
− | |||
Пример рецепта: | Пример рецепта: | ||
Строка 59: | Строка 51: | ||
− | // Как можно заметить, длина строки в данном случае 3, а не 2 и рецепт можно будет создать только, если выложить нужную структуру в левой части верстака, в прошлом же примере ненужные слоты были обрезаны и рецепт был шириной в 2, а не в 3, потому его можно было выложить как в правой части, так и в левой. То же самое касается кол-ва строк, их может быть меньше 3, если столько не нужно.</pre> | + | // Как можно заметить, длина строки в данном случае 3, а не 2 и рецепт можно будет создать только, если выложить нужную структуру в левой части верстака, в прошлом же примере ненужные слоты были обрезаны и рецепт был шириной в 2, а не в 3, потому его можно было выложить как в правой части, так и в левой. То же самое касается кол-ва строк, их может быть меньше 3, если столько не нужно. |
− | + | </pre> | |
− | |||
Пример: | Пример: | ||
Строка 67: | Строка 58: | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
*Recipes.deleteRecipe({id: id результата, count: кол-во результата, data: data результата}) - удаляет все рецепты для данного предмета. | *Recipes.deleteRecipe({id: id результата, count: кол-во результата, data: data результата}) - удаляет все рецепты для данного предмета. | ||
Строка 77: | Строка 64: | ||
*Recipes.addShapeless({id: id результата, count: кол-во результата, data: data результата}, [{id: id1, data: data1}, {id: id2, data: data2}, ...], функция выполнения, префикс) - добавление бесформенных рецептов. | *Recipes.addShapeless({id: id результата, count: кол-во результата, data: data результата}, [{id: id1, data: data1}, {id: id2, data: data2}, ...], функция выполнения, префикс) - добавление бесформенных рецептов. | ||
− | + | === Функция крафта === | |
− | + | К любому рецепту крафта может быть добавлена функция, вызывающуюся после совершения крафта. Пример раскрафта алмазной мотыги на составляющие: | |
+ | <syntaxhighlight lang="Javascript">Recipes.addShapeless({id: 264, count: 1, data: 0}, [{id: 293, data: 0}], function(api, field, result){ | ||
+ | Player.addItemToInventory(ItemID.280, 2); | ||
+ | });</syntaxhighlight> | ||
=== Рецепты печи === | === Рецепты печи === | ||
Для добавления рецепта печи используется метод Recipes.addFurnace(id сырья, id результата, data результата, префикс, блокировка) - для обычного рецепта параметры префикс и блокировка не нужны. | Для добавления рецепта печи используется метод Recipes.addFurnace(id сырья, id результата, data результата, префикс, блокировка) - для обычного рецепта параметры префикс и блокировка не нужны. | ||
− | |||
− | |||
Пример: | Пример: |
Добавление рецептов крафта и переплавки - то, без чего не обойдется никакой мод.
Рецепты верстака бывают 2х типов: форменные и бесформенные, первый тип требует того, чтобы предмет был выложен на верстаке в какой то определенной форме, второй требует лишь соблюдения присутсвия и кол-ва предметов в сетке крафта, но не требует порядка. Особенностью форменных рецептов является то, что если рецепт занимает область меньше, чем 3х3, то он может быть выложен в любой области верстака для его выполнения.
Для добавления форменных рецептов используется функция Recipes.addShaped({id: id результата, count: кол-во результата, data: data результата}, форма рецепта, определение предметов, функция выполнения, префикс) - в обычном рецепте последние 2 параметра можно и нужно опустить, о них будет рассказано позже.
Форма рецепта задается массивом строк, которые соответсвуют строкам в форме рецепта, где каждый символ означает предмет, а пробел - отсутсвие предмета.
Разъяснение предметов это массив, в котором данные идут в порядке ['символ1', id1, data1, 'символ2', id2, data2, ...], и так для всех символов, которые использовались в форме рецепта, кроме пробела. Если data предмета не важна (к примеру вы хотите, чтобы в рецепте использовались доски любого типа), то вместо нее напишите -1.
Пример рецепта:
Recipes.addShaped({id: 264, count: 1, data: 0}, [ "ax", "xa", "ax" ], ['x', 265, 0, 'a', 266, 0]); /* добавит рецепт алмаза, который создается из 3 железных и 3 золотых слитков в таком порядке: ax xa ax x - железо a - золото */
Recipes.addShaped({id: 264, count: 1, data: 0}, [ "ax ", "xa ", "ax " ], ['x', 265, 0, 'a', 266, 0]); // Как можно заметить, длина строки в данном случае 3, а не 2 и рецепт можно будет создать только, если выложить нужную структуру в левой части верстака, в прошлом же примере ненужные слоты были обрезаны и рецепт был шириной в 2, а не в 3, потому его можно было выложить как в правой части, так и в левой. То же самое касается кол-ва строк, их может быть меньше 3, если столько не нужно.
Пример:
Recipes.addShapeless({id: 264, count: 1, data: 0}, [{id: 265, data: 0}, {id: 265, data: 0}, {id: 265, data: 0}, {id: 266, data: 0}, {id: 266, data: 0}, {id: 266, data: 0}]); // добавит рецепт алмаза, который создается из 3 железных и 3 золотых слитков, однако их можно выложить в любом порядке.
К любому рецепту крафта может быть добавлена функция, вызывающуюся после совершения крафта. Пример раскрафта алмазной мотыги на составляющие:
Recipes.addShapeless({id: 264, count: 1, data: 0}, [{id: 293, data: 0}], function(api, field, result){
Player.addItemToInventory(ItemID.280, 2);
});
Для добавления рецепта печи используется метод Recipes.addFurnace(id сырья, id результата, data результата, префикс, блокировка) - для обычного рецепта параметры префикс и блокировка не нужны.
Пример:
Recipes.addFurnace(265, 264, 0); // переплавка железа в алмаза