Так как я решил таки следующим написать о блоке, то этот урок выделю в бонусную категорию. Он будет в общем списке, но без личного номера, так как по сути развивает затронутое в предыдущем уроке. Теперь я решил разобрать таки все 32 эффекта из игры и рассказать как добавить магический эффект предмету (вроде зачарованного золотого яблока).
Список уроков
Урок восемь. Делаем из сосиски еду
Итак. Дело было вечером, делать было нечего. А потому я сделал 33 новых сосиски с уникальными (ужасными) текстурами для наглядной демонстрации всего, что я хочу показать и рассказать.

Начнем с первой новинки. Золотая сосиска. Даёт эффект удачи, но нам интересно сейчас не этом. Как же добавить предмету характерный эффект блеска? Довольно просто.
В папке items Создаем файл GoldenSausageItem (имя любое, конечно же). В нем пишем такой вот код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class GoldenSausageItem extends Item { public GoldenSausageItem(Properties properties) { super(properties); } @Override public boolean hasEffect(ItemStack stack) { return true; } } |
Функция hasEffect, для которой мы указали true — и сообщит игре, что нам нужно. Больше ничего пока писать не нужно. Конструктор класса обязателен, так как мы наследуем Item и просто немного корректируем создание объекта.
Регистрация происходит аналогично первому предмету, просто ставим запятую. И вместо Item пишем GoldenSausageItem
1 2 3 4 5 6 7 |
@SubscribeEvent public static void onRegisterItem(RegistryEvent.Register<Item> event) { event.getRegistry().registerAll( setup(new Item(new Item.Properties().group(MyModItemGroups.MOD_ITEM_GROUP).food(MyFoods.SAUSAGE)), "sausage"), setup(new GoldenSausageItem(new Item.Properties().group(MyModItemGroups.MOD_ITEM_GROUP).food(MyFoods.GOLDEN_SAUSAGE)), "golden_sausage") ); } |
Не забываем добавить модель, текстуру и имя предмету.
Запускаем, тестируем. Если все сделано верно — получаем желаемое!

С этим все 🙂
Новые сосиски и их эффекты
Эффекты. Вы с ними сталкивались. Начиная от курицы и гнилой плоти и заканчивая всякими зельями да шалкерами. В прошлом уроке я подсказал как добавить еде какой-нибудь из них (эффекты можно добавлять и не только еде, но про это позже).
Как и говорилось выше, я добавил по сосиске для каждого. Всего вышло 32 новые сосиски. Регистрация была полностью идентична предмету еды из прошлого урока. Менялись лишь параметры еды, вернее Food. Их вышло так же 32 и вот пара из них.
1 2 |
public static Food SPEED_SAUSAGE = (new Food.Builder()).hunger(8).saturation(0.8F).fastToEat().effect(new EffectInstance(Effects.SPEED, 600, 0), 1F).meat().setAlwaysEdible().build(); public static Food SLOWNESS_SAUSAGE = (new Food.Builder()).hunger(8).saturation(0.8F).fastToEat().effect(new EffectInstance(Effects.SLOWNESS, 600, 0), 1F).meat().setAlwaysEdible().build(); |
Суть везде одна. Меняется лишь эффект. Даже время и шанс везде 30 секунд и 100% соответственно. Так же все эффекты первого уровня. Но чтобы вы не запутались в этой всей тарабарщине — разберем подробнее.
Эффекты. Кратко о каждом
Effects.SPEED — скорость. Текстуру я оставил старую, но немного её повернул, тогда я не планировал заходить так далеко.

Съели и получили эффект скорости. С ним, думаю, все понятно. Увеличивает скорость передвижения.
Effects.SLOWNESS — медлительность. Полностью противоположен первому.

Effects.HASTE — в переводе значит спешка. По сути это та же скорость, но для добычи и ударов. Чем выше уровень эффекта — тем выше скорость.

Effects.MINING_FATIGUE — утомление. Как и медлительность, утомление это обратный эффект спешке. Под ним игрок будет медленнее копать и бить мобов.

Effects.STRENGTH — сила. Как ни банально — увеличивает силу атаки. Текстура у неё страшненькая, думал о сосиске-халке. Наверное…

Effects.INSTANT_HEALTH — Исцеление. Быстрое восстановление здоровья.

Effects.INSTANT_DAMAGE — Моментальный урон. Убивает только так, проверено на практике. На деле является обратным предыдущему. Если скушать обе сосиски — здоровье будет падать и сразу восстанавливаться. Колбасить при этом будет вас 😀

Effects.JUMP_BOOST — Увеличивает высоту прыжка.

Effects.NAUSEA — тошнота. Один из интересных эффектов. Игра буквально заиграет новыми красками!

Effects.REGENERATION — регенерация. В отличие от исцеления не даёт полное здоровье сразу, а восстанавливает постепенно.

Effects.RESISTANCE — уменьшает получаемый урон. Данный эффект на 5 уровне и вовсе защищает практически от любого урона. Штука полезная, а мы идем дальше.

Effects.FIRE_RESISTANCE — аналогично прошлому, но только с огнем.

Effects.WATER_BREATHING — подводное дыхание. С учетом морского обновления — штука крайне полезная.

Effects.INVISIBILITY — невидимость. В пояснении так же нет нужны.

Effects.BLINDNESS — слепота.

Effects.NIGHT_VISION — ночное зрение. Очень полезная штука для пещер и рейдов.

Effects.HUNGER — голод. Его вы точно получали.

Effects.WEAKNESS — обратный эффект для силы. Уменьшает наносимый вами урон.

Effects.POISON — отравление. А вас кусали пауки? Постепенно уменьшает здоровье игрока, но не может убить его.

Effects.WITHER — иссушение. Эффект, который в игре можно получить от Иссушителя и его друзей. В отличие от отравления — может и убить.

Effects.HEALTH_BOOST — прилив здоровья. Добавляет вам дополнительные сердечки.

Effects.ABSORPTION — поглощение. Добавляет временное дополнительное здоровье. Разница от прошлого в том, что в приливе здоровья дополнительные сердечки будут все время, пока действует эффект. Могут быть потеряны и восполнены, а вот сердечки от поглощения будут утеряны при первом же уроне без возможности восстановления.

Effects.SATURATION — насыщенность. Вы менее подвержены голоду.

Effects.GLOWING — свечение. Достаточно яркий эффект.

Effects.LEVITATION — левитация. Вы просто летите в верх, забыв о гравитации.

Effects.LUCK — удача! Effects.UNLUCK — невезение. Как я понял, пока влияет только на рыбалку, но скорее всего в будущем будет влиять и на лут.

Effects.SLOW_FALLING — плавное падение. Не даст вам умереть от действия левитации. Будет так же полезным для дерзких прыжков веры или вроде того.

Effects.CONDUIT_POWER — сила источника. Дает выпившему подводное дыхание, подводное ночное зрение и подводную скорость добычи и удара (спешка короче). Очень полезное, под водой.

Effects.DOLPHINS_GRACE — грация дельфина. Увеличивает скорость плавания игрока. Полезно, под водой.

Effects.BAD_OMEN — дурное знамение. Если герой рядом с деревней и имеет этот эффект — вероятно, что местные жители будут неприятно удивлены. Призывает отряд пилладжеров. Показать не смог, но иконка говорит за себя.

Effects.HERO_OF_THE_VILLAGE — герой деревни. Если же вы таки отбили нападение — то вы герой. Игроку с данным эффектом жители будут бросать различные полезные предметы. Заслуженная награда!

Такс. На этом с эффектами все. Оговорю сразу. Я накопировал всем эффектам время в 30 секунд, но некоторым (вроде поглощения или моментального урона) время и вовсе не нужно. Так же вы можете менять еще и уровень эффекта, для более интересных последствий.
На этом все. Спасибо за внимание!