Физика наковальни
На сервере Re:Antagon наковальня обладает двумя нестандартными физическими свойствами: ее можно запустить в небо с помощью поршня, а при падении на блок слизи она подпрыгивает и отскакивает несколько раз.
Запуск наковальни поршнем
Схема установки
Чтобы запустить наковальню, нужно собрать вертикальную конструкцию из трех блоков:
| Слой | Блок |
|---|---|
| Y (низ) | Поршень, направленный вверх |
| Y+1 | Блок слизи |
| Y+2 | Наковальня |
При активации поршня (подаче сигнала редстоуна) наковальня выстреливает вверх.
Как это работает
- Плагин отслеживает событие физики блока. Он проверяет, что сработавший блок - поршень, направленный строго вверх и еще не выдвинутый.
- На 2 блока выше поршня плагин ищет наковальню (обычную, потрепанную или поврежденную). Если ее нет - ничего не происходит.
- Перед движением поршня плагин сохраняет состояние наковальни (ее тип и повреждение) и временно удаляет ее, чтобы поршень смог свободно выдвинуться.
- Сразу после выдвижения поршня плагин создает падающую наковальню (сущность FallingBlock) прямо над головой поршня и задает ей вертикальную скорость вверх (примерно 1.2 блока/тик). Наковальня летит в небо, может ранить сущностей на своем пути и при ударе выпадает предметом.
- На случай сбоя предусмотрена страховка: если по какой-то причине поршень не «забрал» наковальню, она возвращается на место или выпадает предметом, чтобы не исчезнуть бесследно.
Демонстрация
Подпрыгивание на блоке слизи
Как это работает
- Когда падающая наковальня касается земли, плагин проверяет блок под ней. Если это блок слизи - срабатывает отскок.
- Плагин измеряет, с какой высоты упала наковальня (разница между точкой старта падения и текущей точкой касания).
- Сила отскока рассчитывается по формуле: скорость = 0.09 × количество пройденных вниз блоков, но ограничена диапазоном:
- минимум - 0.05
- максимум - 2.5
- Если рассчитанная сила отскока меньше 0.15, наковальня просто ложится на место (чтобы не было раздражающих микро-подпрыгиваний).
- Иначе падение отменяется, наковальня мгновенно «перезапускается» с новой вертикальной скоростью вверх. При этом новой точкой старта становится пик ее прыжка, поэтому при следующем касании слизи она упадет с меньшей высоты и отскочит слабее. Так возникает эффект затухающих прыжков.
- В момент отскока проигрывается звук падения блока слизи.
Примечание
Чем выше вы уроните наковальню на слизь, тем сильнее она отскочит в первый раз. С каждым последующим прыжком высота падает, пока наковальня не остановится.
Демонстрация
Связанные страницы
- Изменение блоков при падении наковальни - какие блоки меняются или ломаются под упавшей наковальней
- Обзор механик - все уникальные механики сервера
