Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите АНИМАЦИЯ РАЗРУШЕНИЕ БЛОКА (УРОН БЛОКУ)

Он же по идее возникает при клике, т.е. до того, как начинается "ломание" блока.

Клиент выполняет свои действия "параллельно". Грубо говоря (я точно не знаю - не анализировал, но чисто логически) всё происходит так.
Игрок лупить по блоку. Клиент - отрисовывает/ломает блоки и информирует сервер. Тут уже сервер с плагинами формирует события и возвращает клиенту, отказ от ломания. Клиент восстанавливает блок. Поскольку пакеты от клиента серверу и обратно летят не мгновенно (а сервер к тому же обрабатывает кучу таких пакетов по очереди), то какое-то время мы и видим сломанные блоки, которые потом "восстанавливаются". Т.е. либо клиент должен перед ломанием/отрисовкой повреждения запрашивать у сервера разрешение - либо как-то хитрить. Эффекты зелий - это очень удобный и правильный механизм. Потому что наложив эффект решается проблема синхронизации клиента с сервером. Соответственно всё выглядит естественно и без каких-то дёрганий.
Понятно, что изначально эффекты для этого не предназначались, но ведь работает замечательно :)
 
Мысль свою не закончил, но имел в виду именно при ударе. А чтобы нельзя было пройти через падающий блок, мы... оставим оригинальный блок, или же поставим другой. А падающий блок поставим так, чтобы нельзя было достучаться до оригинального блока.
как вариант можно блок бедроком заменять но при отжатие кнопки мыши надо возвращать блок обратно , но какое событие отвечает за отжатие кнопки
 
Клиент выполняет свои действия "параллельно". Грубо говоря (я точно не знаю - не анализировал, но чисто логически) всё происходит так.
Игрок лупить по блоку. Клиент - отрисовывает/ломает блоки и информирует сервер. Тут уже сервер с плагинами формирует события и возвращает клиенту, отказ от ломания. Клиент восстанавливает блок. Поскольку пакеты от клиента серверу и обратно летят не мгновенно (а сервер к тому же обрабатывает кучу таких пакетов по очереди), то какое-то время мы и видим сломанные блоки, которые потом "восстанавливаются". Т.е. либо клиент должен перед ломанием/отрисовкой повреждения запрашивать у сервера разрешение - либо как-то хитрить. Эффекты зелий - это очень удобный и правильный механизм. Потому что наложив эффект решается проблема синхронизации клиента с сервером. Соответственно всё выглядит естественно и без каких-то дёрганий.
Понятно, что изначально эффекты для этого не предназначались, но ведь работает замечательно :)
Т.е. нужно слушать PIE и накладывать эффект, так?
 
Он же по идее возникает при клике, т.е. до того, как начинается "ломание" блока.
нет на сервер отправляется клик => сервер блокирует разрушение но в клиенте продолжается процесс ломание блока пока он не сломается => сервер восстанавливает блок и возникает промежуток моргание блока
Т.е. нужно слушать PIE и накладывать эффект, так?
я сделал наложение эффекта при клике на чужой блок
наложение эффекта это костыль и раздражает
да и еще BlockDamageEvent
 

Поделиться этой страницей

Назад
Верх