[Guide] Как пользоваться модом MineTweaker 3 (Урок 2 - Базовые рецепты)
649
ИСПОЛЬЗОВАНИЕ ОБОЗНАЧЕНИЯ РЕЦЕПТА
Самые основные модификации, которые можно выполнять в MineTweaker являются рецепт добавление и удаление. Там нет визуальный редактор,
только скриптовый язык, так что вы должны понять, как писать свои рецепты в виде текста.
Для того чтобы определить ее функциональность, вы должны вызывать функции. Примером функция печати, которые вы видели раньше, и которая принимает один аргумент:
Это было легко.Более полезной функцией, например, является функция для добавления формы рецепта:
Эта линия по существу означает "вызвать функцию addShaped на объекте рецептов". Объект рецепты специальный объект, который можно получить в любом месте вашего кода и содержит все функции, связанные с добавлением и удалением крафта рецепты. Обратите внимание, что только крафта рецепты управляемая рецептов объект - печь рецепты, например, управляются объекта печи (который вы узнаете о в следующих уроках) и модов машины должны все же различные методы для управления рецепты.
Теперь, как мы называем функция addShaped с надлежащими аргументов? Мы должны сказать ему, что вывод должен быть и что рецепт должен быть.
Давайте, например, рецепт железных леггинсы, что это? А вот что:
Запись MineTweaker для этого рецепта является следующий:
Это может выглядеть загадочно, если вы не знаете азы программирования, но принцип довольно прост. Вы можете визуализировать рецепт следующим образом:
Каждый элемент в minetweaker имеет свое название - в окружении угловых скобках .
Имя элемента для железного слитка и железной леггинсы является .
А как насчет пустого места? Вы не можете просто пропустить записи - вы должны положить что-то, надо указать "пустое место".
MineTweaker имеет специальное слово для таких объектов, и это "null".
Таким образом, можно определить рецепт леггинсы со следующим кодом:
ОСНОВНЫЕ РЕЦЕПТЫ
Там нет визуального редактора, так что вы должны понять, как писать свои рецепты в виде текста.
Как маленькие введения, давайте рассмотрим рецепт палками. В ванильном Minecraft,
Чтобы сделать 4 палочки нужно взять две доски, и они должны стоять в верстаке друг над другом.
Мы хотим изменить это? Что делать, если, скажем, мы считаем более логичным: Поставить две деревянных доски
по диагонали. Изменение рецепт палочки чудесно легко. Сделать скрипт со следующим содержанием:
Откройте новую игру (или перезагрузите скрипты, если вы уже в игре). Теперь проверьте свой рецепт палочек.
Работает? Отлично! Но теперь вы, наверное, заметили ошибку в рецепте: если вы положите березы или ели, она не работает!
Почему это не работает? Пункт "доски" имеет подразделы, отличающиеся не только название пункта, но и его значения.
По умолчанию, если вы извлекаете элемент с синтаксисом кронштейна, MineTweaker предполагает, что вы хотите деталь с значением 0.
Но мы хотим, ингредиент, который по существу означает "любой вид дерева".
К счастью, это легко исправить. При использовании синтаксиса кронштейн, помимо имени, мы также можем определить мета значение.
Например, относится к еловой древесины. Мы можем также использовать специальный символ (*),
чтобы получить элемент означающий "доски любого сорта": .
Таким образом, измените свой рецепт и перезагрузите скрипты:
PROFIT!
УДЕЛЬНОЕ УДАЛЕНИЕ РЕЦЕПТА
Таким способом можно удалить один предмет:
Это позволит удалить только один рецепт - даже если есть другие рецепты.
Кроме того, можно удалить все рецепты, которые сформированы, или все рецепты, которые бесформенные, простым вызовом:
Кроме того, модели с масками могут быть использованы, чтобы указать, что любой вид элемента на определенную должность:
Кроме того, при удалении бесформенных рецептов, можно указать только один или несколько ингредиентов бесформенных рецептов,
а затем сказать MineTweaker`у, что оставшаяся часть рецепта может содержать все что угодно:
ПОДПУНКТЫ И ЗНАЧЕНИЕ УЩЕРБА
Довольно часто, детали имеют несколько подпунктов. Очень хорошо известным примером являются уголь и уголь.
Оба имеют одинаковый ID (Minecraft:coal), но имеют различные значение.
При загрузке элемент, вы можете указать мета значение для подпункта:
Когда подпункт не указан,: 0 заполняется для подпункта.
Если вы хотите, чтобы рецепт соответствовал любому подпункту, вы можете использовать групповой синтаксис:
Многие виды элементов также могут быть повреждены.
При использовании такого пункта, как ингредиент для рецепта, по умолчанию, никаких повреждений не допускается. Например:
В приведенном выше рецепте, повреждена кирка,а нам этого не хочется. Это может быть легко изменено с anyDamage() модификатора:
ПЕРЕЗАГРУЗКА И РЕЦЕПТЫ
При перезагрузке сценария, вы могли заметить, что если вы перегрузили сценарий, рецепт не дублируется.
Аналогичным образом, если рецепт дополнительно удаляется из сценария и сценарий перезагружается, рецепт эффективно удаляется из игры.
MineTweaker помнит такие действия, как рецепты добавляются и удаляются.
Когда скрипт перезагружается (или загружается, присоединившись к другому серверу),
MineTweaker сначала отменит все записанные изменения, внесенные перед выполнением нового сценария.
Многие мод машины, однако, не поддерживают такое вытворение. Для сервера, это означает, что рецепт будет застревать в списке, пока сервер не будет перезагружен; для клиента,
это означает, что рецепт будет показывать и принять соответствующие меры, как если бы она существовала.
Там нет исправление к такому поведению; это до соответствующих мод авторов для обеспечения достаточного API для того, чтобы удалить
рецепт можно было. Так что если что-то не получится не вините Элиана.
ИСПОЛЬЗОВАНИЕ ПЕРЕМЕННЫХ
В этом примере переменная может быть использована к:
Разница между var и val в том, что val не может быть изменен после того, как заявил:
----------------------------------------------------------------------------------------------------------------------------
СТАТЬЯ ПРО МОД: *НАЖМИ*
----------------------------------------------------------------------------------------------------------------------------
Ну, а на этом все. Надеюсь оцените мой труд, переводил и писал все 3 часа.
Всем удачи и пока, ждите новых уроков!
Самые основные модификации, которые можно выполнять в MineTweaker являются рецепт добавление и удаление. Там нет визуальный редактор,
только скриптовый язык, так что вы должны понять, как писать свои рецепты в виде текста.
Для того чтобы определить ее функциональность, вы должны вызывать функции. Примером функция печати, которые вы видели раньше, и которая принимает один аргумент:
print("You Text Bitch");
Это было легко.Более полезной функцией, например, является функция для добавления формы рецепта:
recipes.addShaped(recipe output, recipe contents);
Эта линия по существу означает "вызвать функцию addShaped на объекте рецептов". Объект рецепты специальный объект, который можно получить в любом месте вашего кода и содержит все функции, связанные с добавлением и удалением крафта рецепты. Обратите внимание, что только крафта рецепты управляемая рецептов объект - печь рецепты, например, управляются объекта печи (который вы узнаете о в следующих уроках) и модов машины должны все же различные методы для управления рецепты.
Теперь, как мы называем функция addShaped с надлежащими аргументов? Мы должны сказать ему, что вывод должен быть и что рецепт должен быть.
Давайте, например, рецепт железных леггинсы, что это? А вот что:
Запись MineTweaker для этого рецепта является следующий:
<minecraft:iron_ingot>, <minecraft:iron_ingot>, <minecraft:iron_ingot>,
<minecraft:iron_ingot>, null, <minecraft:iron_ingot>,
<minecraft:iron_ingot>, null, <minecraft:iron_ingot>
Это может выглядеть загадочно, если вы не знаете азы программирования, но принцип довольно прост. Вы можете визуализировать рецепт следующим образом:
Каждый элемент в 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 часа.
Всем удачи и пока, ждите новых уроков!
Комментарии