Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | + | <div class="b-pageLayout b-pageLayout__xs" data-layout="xs" id="pageLayout"><div class="b-pageContent m-pageContent__withoutLeft m-pageContent__withoutRight" id="pageContent"> | |
Добавление рецептов крафта и переплавки - то, без чего не обойдется никакой мод. | Добавление рецептов крафта и переплавки - то, без чего не обойдется никакой мод. | ||
Строка 6: | Строка 6: | ||
=== Рецепты верстака === | === Рецепты верстака === | ||
− | Рецепты верстака бывают 2х типов: | + | Рецепты верстака бывают 2х типов: форменные и бесформенные, первый тип требует того, чтобы предмет был выложен на верстаке в какой то определенной форме, второй требует лишь соблюдения присутсвия и кол-ва предметов в сетке крафта, но не требует порядка. Особенностью форменных рецептов является то, что если рецепт занимает область меньше, чем 3х3, то он может быть выложен в любой области верстака для его выполнения. |
− | + | Для добавления форменных рецептов используется функция Recipes.addShaped({id: id результата, count: кол-во результата, data: data результата}, форма рецепта, определение предметов, функция выполнения, префикс) - в обычном рецепте последние 2 параметра можно и нужно опустить, о них будет рассказано позже. | |
− | |||
− | + | Форма рецепта задается массивом строк, которые соответсвуют строкам в форме рецепта, где каждый символ означает предмет, а пробел - отсутсвие предмета. | |
− | + | Разъяснение предметов это массив, в котором данные идут в порядке ['символ1', id1, data1, 'символ2', id2, data2, ...], и так для всех символов, которые использовались в форме рецепта, кроме пробела. Если data предмета не важна (к примеру вы хотите, чтобы в рецепте использовались доски любого типа), то вместо нее напишите -1. | |
− | |||
− | |||
− | |||
− | | + | Пример рецепта: |
+ | <pre>Recipes.addShaped({id: 264, count: 1, data: 0}, [ | ||
+ | |||
+ | "ax", | ||
+ | |||
+ | "xa", | ||
+ | |||
+ | "ax" | ||
+ | |||
+ | ], ['x', 265, 0, 'a', 266, 0]); | ||
+ | |||
+ | /* | ||
+ | |||
+ | добавит рецепт алмаза, который создается из 3 железных и 3 золотых слитков в таком порядке: | ||
+ | |||
+ | ax | ||
+ | |||
+ | xa | ||
+ | |||
+ | ax | ||
+ | |||
+ | x - железо | ||
+ | |||
+ | a - золото | ||
+ | |||
+ | */</pre> | ||
+ | <div>Плохой пример рецепта:<span id="cke_bm_157E" style="display: none"> </span></div> <pre>Recipes.addShaped({id: 264, count: 1, data: 0}, [ | ||
+ | |||
+ | "ax ", | ||
+ | |||
+ | "xa ", | ||
+ | |||
+ | "ax " | ||
− | + | ], ['x', 265, 0, 'a', 266, 0]); | |
− | |||
− | + | // Как можно заметить, длина строки в данном случае 3, а не 2 и рецепт можно будет создать только, если выложить нужную структуру в левой части верстака, в прошлом же примере ненужные слоты были обрезаны и рецепт был шириной в 2, а не в 3, потому его можно было выложить как в правой части, так и в левой. То же самое касается кол-ва строк, их может быть меньше 3, если столько не нужно. | |
− | + | </pre> | |
− | |||
− | |||
− | |||
− | |||
− | + | Пример: | |
− | < | + | <pre>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 золотых слитков, однако их можно выложить в любом порядке. |
− | |||
− | |||
− | ); | ||
− | // | ||
− | + | </pre> | |
− | < | + | |
− | + | *Recipes.deleteRecipe({id: id результата, count: кол-во результата, data: data результата}) - удаляет все рецепты для данного предмета. | |
− | + | *Recipes.replaceWithShaped({id: id результата, count: кол-во результата, data: data результата}, форма рецепта, определение предметов, функция выполнения, префикс) - аналогична Recipes.addShaped, но удаляет все остальные рецепты для этого предмета. | |
− | + | *Recipes.replaceWithShapeless({id: id результата, count: кол-во результата, data: data результата}, форма рецепта, определение предметов, функция выполнения, префикс) - аналогична Recipes.addShapeless, но удаляет все остальные рецепты для этого предмета. | |
− | ) | + | *Recipes.addShapeless({id: id результата, count: кол-во результата, data: data результата}, [{id: id1, data: data1}, {id: id2, data: data2}, ...], функция выполнения, префикс) - добавление бесформенных рецептов. |
− | |||
− | |||
− | |||
− | |||
=== Функция крафта === | === Функция крафта === | ||
Строка 56: | Строка 71: | ||
Player.addItemToInventory(ItemID.280, 2); | Player.addItemToInventory(ItemID.280, 2); | ||
});</syntaxhighlight> | });</syntaxhighlight> | ||
+ | |||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Рецепты печи === | === Рецепты печи === | ||
Строка 62: | Строка 78: | ||
Пример: | Пример: | ||
− | <syntaxhighlight lang="JavaScript">Recipes.addFurnace(265, 264, 0); // переплавка железа в | + | <syntaxhighlight lang="JavaScript">Recipes.addFurnace(265, 264, 0); // переплавка железа в алмаза</syntaxhighlight> |
Так же этот метод имеет еще одну вариацию Recipes.addFurnace(id сырья, data сырья, id результата, data результата, префикс) | Так же этот метод имеет еще одну вариацию Recipes.addFurnace(id сырья, data сырья, id результата, data результата, префикс) | ||
Строка 68: | Строка 84: | ||
| | ||
− | + | </div> | |
− | |||
− | <div | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |