Цена: 20 уровней.
Накладывает на игрока "Силу I" и "Скорость I" на 15 секунд.
Активируется когда у героя остаётся 6 hp(3 сердца) и меньше.
Для повторной активации нужно восстановить здоровье до 6hp и больше.
Для начала создаём событие проверяющее наше здоровье:
/scoreboard objectives add hp health Здоровье. Т.е. мы создаём событие с именем "hp", которое проверяет наше здоровье и имеет отображаемое имя "Здоровье".
Затем для всей структуры механизма нам понадобятся: 8 командных блоков, 6 компораторов, кнопка и щепотка редстоуна.
Далее для простоты вместо "командные блоки" я буду использовать аббревиатуру
КБ.
Вот, что у нас должно получиться:
Структуру разделим на 2 части. Часть отмеченная красным отвечает за изучение/покупку навыка. Отмеченная зелёным отвечает за работоспособность навыка.
Первая часть:
КБ 1. Для начала подключим его к кнопке/рычагу/плите. Вписываем команду:
/testfor @p[lm=20].Этот КБ тестирует у ближайшего игрока как минимум 20 уровней. При их наличии КБ 1 посылает сигнал на КБ 2.
КБ 2. Команда:
/xp -20L @p.Этот КБ забирает у ближайшего игрока 20 уровней и через компараторы посылает сигналы на соседние: КБ 3 и КБ 4
КБ 3. Команда:
/setblock x y z minecraft:redstone_block. Этот КБ отвечает за активацию второй части структуры. Т.е. помещает редстоун блок на указанные координаты(метка "РБ" на скриншоте).
КБ 4. Команда
/say @p изучил(а) навык Берсерк. Этот КБ выводит сообщения в чат:
"*Ник ближайшего игрока* изучил(а) навык "Берсерк"
Вторая часть:
КБ 5. Команда:
/testfor @p[score_hp=6,score_hp_min=0]. Этот КБ мы ставим в режим "Цикличный". Он тестирует у ближайшего игрока кол-во очков в событии "hp"(которое совпадает с кол-вом наших очков здоровья). Когда здоровье будет в интервале от 0 до 6, то на соседние КБ будет выведен сигнал.
КБ 6. Команда
/effect @p minecraft:strength 15 1 true . Этот КБ даёт ближайшему игроку "Силу I" на 15 секунд без появления частиц.
КБ 7. Команда
/effect @p minecraft:speed 15 1 true. Этот КБ аналогичен предыдущему, но даёт уже "Скорость I".
КБ 8. Команда
/tellraw @a {"text":"Навык Берсерк активирован!","color":"yellow","bold":true}. Этот КБ выводит в чат сообщение "Навык Берсерк активирован!", во время активации навыка. Сообщение будет имеет полужирный шрифт и жёлтый цвет.
Цена: 25 уровней.
Накладывает на игрока "Сопротивление I" на 15 секунд, а также призывает голема-хранителя на помощь.
Время жизни голема ~20 секунд.
Активируется когда у героя остаётся 4 hp(2 сердца) и меньше.
Для повторной активации нужно восстановить здоровье до 4 hp и больше.
Структура механизма аналогична предыдущему, меняются лишь переменные и итоговые команды. Далее я не буду так подробно расписывать. Опишу только то, что меняется по сравнению с первым механизмом.
Первая часть:
КБ 1. Команда:
/testfor @p[lm=25]. Здесь мы уже тестируем минимальный не 20, а 25 уровень.
КБ 2. Команда:
/xp -25L @p. Забираем не 20, а 25 уровней.
КБ 3. Команда:
/setblock x y z minecraft:redstone_block. Правим только координаты.
КБ 4. Команда:
/say @p изучил(а) навык Голем-хранитель. Изменили название навыка.
Вторая часть:
КБ 5. Команда:
/testfor @p[score_hp=4,score_hp_min=0]. Опустили максимальный диапазон до 4 hp.
КБ 6. Команда:
/effect @p minecraft:resistance 15 1 true . Этот КБ даёт ближайшему игроку "Сопротивление I" на 15 секунд без появления частиц.
КБ 7. Команда:
/execute @p ~ ~1 ~ summon minecraft:villager_golem ~ ~ ~ {customName:"Голем-хранитель",CustomNameVisible:1,Silent:1,ActiveEffects:[{Id:20,Amplifier:1,Duration:999999,ShowParticles:0b}],Attributes:[{Name:generic.maxHealth,Base:20}]}
Относительно ближайшего игрока призывается железный голем с именем "Голем-хранитель". У него 20 hp. На голема наложен дебафф "Иссушение I" на 999999 секунд (без отображения частиц), чтобы он не жил вечно.
КБ 8. Команда
/tellraw @a {"text":"Навык Голем-хранитель активирован!","color":"yellow","bold":true}. Меняем только название навыка.
Пример чата в момент изучения и активации навыка "Берсерк".
Пример чата в момент изучения и активации навыка "Голем-хранитель".
Собственно сам Голем-хранитель