Руководства / Команды и данные
Зельеварка покрывает 19 из 40 эффектов — и четыре зелья названы не по тому, что делают
21 эффект состояния нельзя сварить. Стремительность даёт Скорость, Прыгучесть даёт Прыжок в высоту, Лечение даёт Мгновенное здоровье — а @@MCT0@@ и @@MCT1@@ требуют других названий.
Зельеварка покрывает меньше половины эффектов состояния в игре, а четыре зелья, которые она всё же создаёт, названы не по тому эффекту, который дают. Этот второй факт — ловушка при написании команд. Подсчитано по поставляемым Mojang реестрам зелий и эффектов для 26.3.
19 свариваемых эффектов, 46 записей
Всего существует 46 записей зелий:
- 24 базовых зелья — 19, которые варятся в эффект, четыре, не дающие ничего (
water,mundane,thick,awkward), иluck, которое существует, но не имеет рецепта варки - 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
Некоторые из них связаны с окружением (Сила источника, Грация дельфина, Тьма), некоторые — это событийные флаги (Дурное предзнаменование, Знак рейда, Знак испытаний, Герой деревни), некоторые происходят не от зельеварки (Свечение от спектральных стрел, Левитация от шалкеров, Спешка от маяка), а у Везения есть id зелья, но нет рецепта, так что команды — единственный путь к нему. Никакое количество варки не даст ни одного из них.
Четыре зелья названы не по своему эффекту
| 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, называет реальное, отдельное зелье.