Найти тему
некич пишет

Разработка модов для Terraria 1.4.3. Часть 3 - Создание собственных рецептов и взаимодействие с другими модами.

Доброго дня! Сегодня я покажу, как создать свой собственный рецепт для любой вещи в террарии и модах для неё! Настоятельно рекомендую вам становить мод RecipeBrowser, так как он здорово нам поможет в проверке работоспособности наших рецептов

По старинке, открываем наш проект с помощью Visual Studio и в проекте кликаем правой кнопкой мыши -> добавить -> создать элемент

Назовём его GlobalModSystem и добавим

-2

Видим следующую картину:

-3

Здесь, стираем все строчки со словом using и заменяем их на нужные нам библиотеки:

  • Terraria
  • Terraria.ID
  • Terraria.ModLoader

А internal class GlobalModSystem меняем на
public class GlobalModSystem : ModSystem

Далее, добавляем функцию public override void AddRecipes() внутрь нашего класса, должно получиться так:

-4

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

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

-5

Вспоминаем:

  • Первая строчка отвечает за создание нужного нам предмета и его количество на выходе;
  • Вторая - за добавление ингредиентов, опять же, определённый предмет и некое его количество. Строчки, подобные этой(имеющие Add в названии) можно добавлять в неограниченном количестве для разнообразия рецептов
  • Третья строчка позволяет добавить некий блок, возле которого нужно стоять для создания предмета(наковальни, в нашем случае)
  • И, наконец, четвёртая строчка отвечает за регистрацию нашего рецепта в игре.

Казалось бы, вот и всё, что ещё тут можно добавить? А вот и нет! Посмотрите:

-6

Как вы могли заметить, добавилось целых две строчки!

  • AddRecipeGroup отвечает за добавление в рецепт взаимозаменяемых предметов, например, факелы или деревья, но в нашем случае это свинец/железо
  • AddCondition же позволяет задать условия в которых должен находиться игрок, например, рядом с мёдом, как в нашем случае

А теперь, давайте вернём наш старый добрый меч. Для этого нужно всего лишь...

-7

Сделать вот так! Да, всё так просто! Подобным образом вы можете обращаться к любому предмету в вашем моде.

Теперь перейдём к чему-то более сложному и интересному - коллаборация с другими модами! Я покажу это на примере создания рецепта, но, по сути, это можно будет использовать и для других областей.

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

-8

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

-9

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

Ну вот и всё! А теперь давайте проверим, получилось ли у нас! Сохраняем наш файл, билдим + релоадим наш мод и заходим в игру.

А вот и наш рецепт!

А вот и наш рецептик!
А вот и наш рецептик!
И здесь тоже!
И здесь тоже!

Поздравляю! Теперь вы научились добавлять свои рецепты и взаимодействовать с другими модами!

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

Спасибо, что прочитали это статью до конца! Здесь я прощаюсь и говорю...

Удачи и не забывайте играть в игры!