Зелья покрывают 19 из 40 эффектов — и четыре зелья названы не по своему действию
21 статус-эффект вообще не имеет зелья. Зелье скорости даёт Скорость, Зелье прыгучести даёт Увеличение прыжка, Зелье лечения даёт Мгновенное здоровье — а для /give и /effect нужны разные названия.
Зельеварка позволяет создать менее половины статус-эффектов в игре, а четыре из производимых ею зелий названы иначе, чем эффект, который они дают. Этот второй факт является ловушкой при написании команд. Подсчитано на основе официальных реестров зелий и эффектов Mojang для версии 26.2.
19 типов зелий, 41 запись
Существует 41 запись зелий, что составляет 19 различных типов плюс их варианты:
- 19 базовых зелий
- 13
long_расширенных версий - 9
strong_усиленных версий
Не каждое зелье имеет оба варианта. Ночное зрение расширяется, но не усиливается; Лечение усиливается, но не расширяется. В этом и заключается причина разделения на 13 и 9.
21 из 40 эффектов не имеют зелья
Чуть более половины статус-эффектов в игре не могут быть сварены вообще:
absorption, bad_omen, blindness, breath_of_the_nautilus, conduit_power, darkness, dolphins_grace, glowing, haste, health_boost, hero_of_the_village, hunger, levitation, luck, mining_fatigue, nausea, raid_omen, saturation, trial_omen, unluck, wither
Некоторые из них являются окружающими (Сила источника, Грация дельфина, Тьма), некоторые — флагами событий (Знак беды, Знак рейда, Знак испытаний, Герой деревни), а некоторые просто доступны только через команды (Свечение, Левитация, Спешка, Везение). Если вам нужен один из этих эффектов на Игроке, /effect give — единственный способ — никакое зельеварение не сможет его произвести.
Четыре зелья названы иначе
| ID зелья | Эффект, который оно даёт |
|---|---|
swiftness | speed |
leaping | jump_boost |
healing | instant_health |
harming | instant_damage |
Это важно, потому что две команды используют разный словарь:
/give @p potion[potion_contents={potion:"minecraft:swiftness"}]
/effect give @p minecraft:speed 30 1
potion:"minecraft:speed" не существует, и /effect give @p minecraft:swiftness тоже. Каждая команда требует свой ID, и несоответствие существует только для этих четырёх — каждое другое зелье имеет то же название, что и его эффект, что именно и делает эти четыре зелья лёгкими для ошибок.
Зелье Черепашьего мастера даёт два эффекта
turtle_master — единственное зелье, которое применяет более одного эффекта: Сопротивление и Замедление вместе. Именно поэтому оно воспринимается как защитное зелье с недостатком, а не как прямое усиление.
Это также единственный способ сварить Сопротивление. Нет Зелья Сопротивления — эффект достигается через Зельеварку только как половина Зелья Черепашьего мастера, всегда с прикреплённым Замедлением. Таким образом, Сопротивление не входит в список несвариваемых выше, но оно также и неразделимо.
Для работы с командами и датапаками
- Проверьте, имеет ли желаемый эффект зелье, прежде чем планировать его варку — 21 эффект не имеет.
- Используйте ID зелья для предметов и ID эффекта для
/effect; они различаются для Зелья скорости, Зелья прыгучести, Зелья лечения и Зелья вреда. - Помните, что
long_иstrong_являются отдельными записями в реестре, а не модификаторами, поэтому команда, называющаяminecraft:long_swiftness, называет настоящее, отдельное зелье.