[1.16.1] Добавляем новую еду

Привет! В прошлом гайде мы добавили каменную палку, но палкой сыт не будешь, так что сегодня мы займёмся новой едой.

Сегодня добавим простую еду, которую съел и забыл, а также простую еду с эффектами. Более крутую еду, с посудой там, многоразовую и т.д. добавим в другом гайде, который я так и назову – Продвинутая Еда. Или вроде того.

Список уроков

Чтобы не повторять практически полностью гайд по предмету (текстура, модель, вкладки) то настоятельно рекомендую перед началом этого закончить предыдущий.

А если вы уже, то погнали!

Рассмотрим еду из игры

Предмет делает едой одна простая функция в свойствах предмета. Вот вам пример обычного яблока:

Уже знакомая нам вкладка Еда, но куда интереснее эта часть: .food(Foods.APPLE).

Находим файл Foods.java (он тоже в папке item) и видим статическую переменную Food с именем APPLE.

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

У еды также может быть ещё несколько параметров:

.setAlwaysEdible() – позволяет есть еду даже когда персонаж не голоден. Этот параметр активен у золотых яблок, которые можно есть сколько хочешь и когда хочешь. А вот большинство еды нельзя применить при полной шкале сытости.

.meat() – позволяет лечить этим волков. Вся еда с этой функцией будет пригодна для питомца.

.fastToEat() – ускоряет приём пищи. Попробуйте съесть сушенную ламинарию и яблоко. Разница будет сразу заметна.

И самое интересное: effect. Вот пример сырой курицы:

600 – время действия эффекта, 0 – уровень, а 0.3f – шанс, где 1f будет равен 100%.

Если вы хотите добавить несколько эффектов, то никаких проблем. Пример с зачарованным золотым яблоком.

Перечислять все не буду, как видно в этом примере – просто пишем effect столько раз, сколько нам нужно.

Все эффекты можно увидеть в файле Effects.java. Он находиться в: net/ minecraft/ potion.

Пишем свою еду

Теперь пора добавить нашу собственную еду, если нужно. Мы также можем использовать любую из уже существующей (именно свойства еды, а не сами предметы). Но так не интересно, а значит добавляем файл ModFoods.java в папку предметов. Предлагаю добавить сосиску обычную и зачарованную, и вот для каждой из них еда:

И теперь добавляем сами предметы в наш ModItems.java:

И никаких сложностей, правда нужно немного изменить класс Item для зачарованной сосиски. Как вы знаете, зачарованные предметы должны иметь характерный блеск, а у нас его пока нет. Для его появления нужно открыть класс Item для ENCHANTED_SAUSAGE и дописать туда это:

Где мы буквально пишем, что эффект у нас есть. И никаких вариантов.

Теперь добавляем генерируемые модели, текстуры, у меня они такие:

1
2

Локализация тоже делается аналогично прошлой палке.

Единственное, что я заменил на новой вкладке иконку. Так как в этом гайде балка была совершенно не нужна – я её удалил, а указал вместо неё одну из сосисок.

Можно запускать!

Пара новых предметов
Их можно кушать
И получать эффекты!

На очереди создание нового набора инструментов! А пока у меня всё.

Исходники тут

1 комментарий к “[1.16.1] Добавляем новую еду”

  1. Пингбэк: Создание модов для Minecraft 1.15 – GeekStand

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