( +2.43 1,43 -1.00 )

[Guide] Как пользоваться модом MineTweaker 3 (Урок 2 - Базовые рецепты)

ИСПОЛЬЗОВАНИЕ ОБОЗНАЧЕНИЯ РЕЦЕПТА

Самые основные модификации, которые можно выполнять в MineTweaker являются рецепт добавление и удаление. Там нет визуальный редактор,
только скриптовый язык, так что вы должны понять, как писать свои рецепты в виде текста.
Для того чтобы определить ее функциональность, вы должны вызывать функции. Примером функция печати, которые вы видели раньше, и которая принимает один аргумент:
print("You Text Bitch");

Это было легко.Более полезной функцией, например, является функция для добавления формы рецепта:
recipes.addShaped(recipe output, recipe contents);

Эта линия по существу означает "вызвать функцию addShaped на объекте рецептов". Объект рецепты специальный объект, который можно получить в любом месте вашего кода и содержит все функции, связанные с добавлением и удалением крафта рецепты. Обратите внимание, что только крафта рецепты управляемая рецептов объект - печь рецепты, например, управляются объекта печи (который вы узнаете о в следующих уроках) и модов машины должны все же различные методы для управления рецепты.
Теперь, как мы называем функция addShaped с надлежащими аргументов? Мы должны сказать ему, что вывод должен быть и что рецепт должен быть.
Давайте, например, рецепт железных леггинсы, что это? А вот что:
[Guide] Как пользоваться модом MineTweaker 3 (Урок 2 - Базовые рецепты)

Запись MineTweaker для этого рецепта является следующий:

[[<minecraft:iron_ingot>, <minecraft:iron_ingot>, <minecraft:iron_ingot>],
 [<minecraft:iron_ingot>, null, <minecraft:iron_ingot>],
 [<minecraft:iron_ingot>, null, <minecraft:iron_ingot>]] 


Это может выглядеть загадочно, если вы не знаете азы программирования, но принцип довольно прост. Вы можете визуализировать рецепт следующим образом:
[Guide] Как пользоваться модом MineTweaker 3 (Урок 2 - Базовые рецепты)
Каждый элемент в minetweaker имеет свое название - в окружении угловых скобках .
Имя элемента для железного слитка и железной леггинсы является .
А как насчет пустого места? Вы не можете просто пропустить записи - вы должны положить что-то, надо указать "пустое место".
MineTweaker имеет специальное слово для таких объектов, и это "null".
Таким образом, можно определить рецепт леггинсы со следующим кодом:
recipes.addShaped(<minecraft:iron_leggings>,
 [[<minecraft:iron_ingot>, <minecraft:iron_ingot>, <minecraft:iron_ingot>],
  [<minecraft:iron_ingot>, null, <minecraft:iron_ingot>],
  [<minecraft:iron_ingot>, null, <minecraft:iron_ingot>]]);



ОСНОВНЫЕ РЕЦЕПТЫ

Там нет визуального редактора, так что вы должны понять, как писать свои рецепты в виде текста.
Как маленькие введения, давайте рассмотрим рецепт палками. В ванильном Minecraft,
Чтобы сделать 4 палочки нужно взять две доски, и они должны стоять в верстаке друг над другом.
Мы хотим изменить это? Что делать, если, скажем, мы считаем более логичным: Поставить две деревянных доски
по диагонали. Изменение рецепт палочки чудесно легко. Сделать скрипт со следующим содержанием:
recipes.remove(<minecraft:stick>);
recipes.addShaped(<minecraft:stick> * 4, [[<minecraft:planks>, null], [null, <minecraft:planks>]]);

Откройте новую игру (или перезагрузите скрипты, если вы уже в игре). Теперь проверьте свой рецепт палочек.
Работает? Отлично! Но теперь вы, наверное, заметили ошибку в рецепте: если вы положите березы или ели, она не работает!
Почему это не работает? Пункт "доски" имеет подразделы, отличающиеся не только название пункта, но и его значения.
По умолчанию, если вы извлекаете элемент с синтаксисом кронштейна, MineTweaker предполагает, что вы хотите деталь с значением 0.
Но мы хотим, ингредиент, который по существу означает "любой вид дерева".
К счастью, это легко исправить. При использовании синтаксиса кронштейн, помимо имени, мы также можем определить мета значение.
Например, относится к еловой древесины. Мы можем также использовать специальный символ (*),
чтобы получить элемент означающий "доски любого сорта": .
Таким образом, измените свой рецепт и перезагрузите скрипты:
recipes.remove(<minecraft:stick>);
recipes.addShaped(<minecraft:stick> * 4, [[<minecraft:planks:*>, null], [null, <minecraft:planks:*>]]);

PROFIT!


УДЕЛЬНОЕ УДАЛЕНИЕ РЕЦЕПТА

Таким способом можно удалить один предмет:
recipes.removeShaped(<minecraft:stick>, [[<minecraft:planks:*>], [<minecraft:planks:*>]]);

Это позволит удалить только один рецепт - даже если есть другие рецепты.
Кроме того, можно удалить все рецепты, которые сформированы, или все рецепты, которые бесформенные, простым вызовом:
recipes.removeShaped(<minecraft:stick>);
recipes.removeShapeless(<minecraft:stick>);

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

Кроме того, при удалении бесформенных рецептов, можно указать только один или несколько ингредиентов бесформенных рецептов,
а затем сказать MineTweaker`у, что оставшаяся часть рецепта может содержать все что угодно:
recipes.removeShapeless(<minecraft:wool:*>, [<minecraft:wool>]); // removes all wool coloring recipes



ПОДПУНКТЫ И ЗНАЧЕНИЕ УЩЕРБА

Довольно часто, детали имеют несколько подпунктов. Очень хорошо известным примером являются уголь и уголь.
Оба имеют одинаковый ID (Minecraft:coal), но имеют различные значение.
При загрузке элемент, вы можете указать мета значение для подпункта:
var coal = <minecraft:coal:0>; // same as <minecraft:coal>
var charcoal = <minecraft:coal:1>;

Когда подпункт не указан,: 0 заполняется для подпункта.
Если вы хотите, чтобы рецепт соответствовал любому подпункту, вы можете использовать групповой синтаксис:
var anyCoal = <minecraft:coal:*>;

Многие виды элементов также могут быть повреждены.
При использовании такого пункта, как ингредиент для рецепта, по умолчанию, никаких повреждений не допускается. Например:
var pick = <minecraft:stone_pickaxe>;
var iron = <minecraft:iron_ingot>;
// upgrade pick recipe :)
recipes.addRecipe(<minecraft:iron_pickaxe>, [[iron, iron, iron], [null, pick, null]]);

В приведенном выше рецепте, повреждена кирка,а нам этого не хочется. Это может быть легко изменено с anyDamage() модификатора:
var pick = <minecraft:stone_pickaxe>.anyDamage();
var iron = <minecraft:iron_ingot>;
// upgrade pick recipe :)
recipes.addShaped(<minecraft:iron_pickaxe>, [[iron, iron, iron], [null, pick, null]]);



ПЕРЕЗАГРУЗКА И РЕЦЕПТЫ

При перезагрузке сценария, вы могли заметить, что если вы перегрузили сценарий, рецепт не дублируется.
Аналогичным образом, если рецепт дополнительно удаляется из сценария и сценарий перезагружается, рецепт эффективно удаляется из игры.
MineTweaker помнит такие действия, как рецепты добавляются и удаляются.
Когда скрипт перезагружается (или загружается, присоединившись к другому серверу),
MineTweaker сначала отменит все записанные изменения, внесенные перед выполнением нового сценария.
Многие мод машины, однако, не поддерживают такое вытворение. Для сервера, это означает, что рецепт будет застревать в списке, пока сервер не будет перезагружен; для клиента,
это означает, что рецепт будет показывать и принять соответствующие меры, как если бы она существовала.
Там нет исправление к такому поведению; это до соответствующих мод авторов для обеспечения достаточного API для того, чтобы удалить
рецепт можно было. Так что если что-то не получится не вините Элиана.


ИСПОЛЬЗОВАНИЕ ПЕРЕМЕННЫХ

В этом примере переменная может быть использована к:
var stick = <minecraft:stick>;
var planks = <minecraft:planks:*>;
recipes.remove(stick);
recipes.addShaped(stick * 4, [[planks, null], [null, planks]]);


Разница между var и val в том, что val не может быть изменен после того, как заявил:

val stick = <minecraft:stick>;
stick = <minecraft:bread>; // fails


----------------------------------------------------------------------------------------------------------------------------
СТАТЬЯ ПРО МОД: *НАЖМИ*
----------------------------------------------------------------------------------------------------------------------------

Ну, а на этом все. Надеюсь оцените мой труд, переводил и писал все 3 часа.
Всем удачи и пока, ждите новых уроков!
  1. Посетители

    12 июля 2014 04:48

    -3

    [quote:Elian]УДЕЛЬНОЕ УДАЛЕНИЕ РЕЦЕПТА
  2. Посетители

    12 июля 2014 05:09

    -1

    Цитата: Elian
    УДЕЛЬНОЕ УДАЛЕНИЕ РЕЦЕПТА

    genius
  3. Олдфаги

    12 июля 2014 07:11

    0

    гугл переводчик рулит nudaeIII
  4. Просто хорошие люди

    12 июля 2014 14:58

    0

    Цитата: tomkoro
    гугл переводчик рулит

    А где? oh-stop-it-you

    Andryshik345,
    Эмм... При чем тут гениус?
  5. Просто хорошие люди

    12 июля 2014 19:03

    0

    Страницы сломана?
    По сабжу, гугл-переводчик не радует + жирно. 3 мем.
  6. Посетители

    12 июля 2014 23:05

    0

    Хорошее описание и оформление, 5 мем
  7. Посетители

    13 июля 2014 03:02

    0

    Было жеж?
  8. Олдфаги

    15 июля 2014 13:31

    0

    Отлично. Оценка: 5! default3
  9. Посетители

    15 июля 2014 15:31

    0

    Хорошее описание и оформление, 5 мем
  10. Посетители

    18 июля 2014 01:42

    0

    Отлична! Начищающим строителем пойдет ! nerd
    5 мэмов
  11. Посетители

    18 июля 2014 02:06

    0

    Отлично!
    5 мем
  12. Посетители

    10 июня 2015 12:30

    0

    А есть видео-гайд?
  13. Посетители

    13 февраля 2021 17:23

    0

    Не удобно читать ценрированный текст, да ещё и с таким шрифтом.
  14. Посетители

    21 февраля 2023 15:31

    0

    ХМ....... короче просто копирую код с добавлением крафта и всё)) Открываем блокнот фигачим файл заходим в игру, с помощью команд из craft twicker (или как там его) и меняем, надеюсь всё правильно понял
Для написания комментария зарегистрируйся на сайте, это займет всего пару минут, голосуй за новости, зарабатывай репутацию.

Последние сообщения с форума

Название темы
Статистика
Последнее сообщение
Ошибка генерации.

Тема в разделе: Моддинг

Просмотров: 16

Ответов: 0

Просмотров: 2160

Ответов: 5

Просмотров: 753

Ответов: 5