Урок одиннадцатый. Дроп для блока и рецепт его создания

Привет всем! Мы создали полноценный блок, но в выживании у него нет ни дропа, ни рецепта. Пора это исправить!

Список уроков
Урок десятый. Снова предмет, но теперь для блока.

Это будет ну прям очень короткий урок, так как в самой игре это все максимально упростили. Скажу даже так, для реализации таких важных вещей нам даже не нужно писать код! Все будет прописано при помощи очередных .json файлов.

Ресурсы мы всегда ложили в папку assets, но теперь нам нужно указать логику. Что будет падать из нашего блока, и как его сделать?

Начнем с первого. Но сначала рядом с assets создадим новую папку: data.

Вон она

В ней, так же как и в assets создаём папку с MODID нашего мода. А уже внутри неё… еще одну папку loot_tables. Внутри этой папки добавим папку blocks, и… на этом пока остановимся.

Финальный путь должен быть приблизительно таким

Сюда же добавляем файл sun_bricks.json (следите, чтобы без всяких .txt!). Можете создать его при помощи IDE. Имя от блока из прошлых уроков, потому что именно для него я и пишу дроп. И пишем такой текст:

Для примера можете глянуть дроп других блоков из игры. Там можно узнать как задавать условия дропа, вариативность, количество. Я это более подробно буду разбирать по ходу написания других уроков (создание руды, добыча с шелковым касанием и т.д.).

В данном примере у нас есть количество — 1, список того, что будет дропнуто (собстна, наш блок) и условие — пережил взрыв, видимо. Я взял за базу рецепт обычного кирпичного блока из игры.

И все! Теперь добыв его в выживании вы увидите выпавшую из него маленькую подбираемую версию!

О, да!

Добавляем рецепт

Тут все по той же схеме.

Покидаем папку blocks и loot_tables и в папке с именем MODID нашего мода создадим новую: recipes.

Больше папок!

И окей, вы же уже знаете, да?) Добавляем файл sun_bricks.json -_-. Сколько их уже? 5? 6? Ну и неважно. Пора прописать рецепт.

Рецепт для верстака. Есть еще для печи, и для камнерезки, но про это так же потом. Сейчас разберем этот. Count — количество, сам result — результат, следовательно, item — предмет, который мы получим. type указывает для чего этот рецепт, в нашем случае верстак. pattern — определяет положение элементов в сетке крафта, а key — определяет какие именно предметы будут в этом всем учавствовать.

Вроде понятно…

Запускаем!

Идеально!

А если нам нужен не один рецепт? Легко!

Пример второго рецепта, старый тоже актуален

Для этого все в той же папке рецептов создаем файл sun_bricks_from_КАКОЙ_ТО_ТЕКСТ.json.

Ну ладно, вообще-то имя может быть любым, но в игре разрабы использовали такой шаблон, и я его буду использовать. Согласитесь, это куда понятнее чем какие-то: lol.json, test1.json, test.json, mmm.json. Игра будет собирать все рецепты из папки с рецептами, имя тут не решает, но в ваших же интересах нормальные имена.

Справа видны оба рецепта.

А код для рецепта печи был таким:

Где есть уже знакомый type, result, ingredient — указывает, что нам нужно положить в печь, experience — количество опыта за переплавку, а cookingtime — время готовки.

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

На этом пожалуй все. Дальше сделаем больше вариативностей нашего блока, а потом уже руду. До скорого!

Оставьте комментарий