1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Телепортация из лавы

Тема в разделе "Разработка плагинов для новичков", создана пользователем pro100koder, 6 окт 2018.

  1. Автор темы
    pro100koder

    pro100koder Активный участник Пользователь

    Баллы:
    76
    В общем, когда игрок получает урон от лавы - его должно телепортировать в локацию. Всё работает, но примерно 50% игроков прежде, чем телепортироваться, летают в лаве, и не могут двигаться 2-5 секунд. При чём у них показывает, что они телепортировались, но не могут ходить. Вот немного кода:
    Код:
    @EventHandler
        public void hurt(EntityDamageEvent e){
            if(e.getEntity() instanceof Player){
                Player p = (Player) e.getEntity();
                if(e.getCause().equals(DamageCause.LAVA)||e.getCause().equals(DamageCause.VOID)){
                    if(main.stage.equals("game")&&main.lavakill==true)p.setHealth(0);
                    else p.teleport(main.center,TeleportCause.COMMAND);
                    //TeleportCause - налепил, пытаясь исправить эту проблему, и спам в консоли "player mowed wrongly/too fast". Кстати, возможно, это и есть причина. Такое предупреждение не у всех игроков...
    
     
  2. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Какая версия? TPS у сервера в норме?
     
  3. Zнамя Юности

    Zнамя Юности Активный участник Пользователь

    Баллы:
    76
    железо не тащит
     
  4. LuckyZeeRo

    LuckyZeeRo Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Инет не тащит
     
  5. Автор темы
    pro100koder

    pro100koder Активный участник Пользователь

    Баллы:
    76
    У сервера TPS 20. Железо отличное. Проблема не в пинге (если игрока убивать при косании лавы, потом смерть отменять, и телепортировать - в чате 100500 сообщений о смерти будет.)
     
  6. LuckyZeeRo

    LuckyZeeRo Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Если можешь, сделай видос более наглядно, как это выглядит. И сделай телепортацию на следующий тик (BukkitScheduler#runTask(...)).
     
  7. InterWall

    InterWall Старожил Пользователь

    Баллы:
    173
    Не, это спиготовская штука. Вроде бы никак не отключается.
     
  8. Автор темы
    pro100koder

    pro100koder Активный участник Пользователь

    Баллы:
    76
    А анти-чита у меня пока что нету. Сервер в тестовой версии находится на моём ПК, с друзьями (они же тестеры) после всяких обнов собираемся, и играем по evolv-у/hamachi. Но ПК у меня довольно хороший, пинг с него 20, да и проблема НЕ в пинге. Если б это был пинг - как объяснить то, что в чате спамит сообщениями о смерти? (если включена смерть от лавы)
     
  9. Автор темы
    pro100koder

    pro100koder Активный участник Пользователь

    Баллы:
    76
    А хотя, может и пинг. Эти 100500 сообщений пишутся в один момент после всё-же телепортации... Но сервер точно не зависает, т. к. процесс игры не останавливался, продолжал тикать таймер, даже когда кто-то в лаве завис. Кстати, вижу одно решение: телепортировать игрока ДО попадения в лаву... Чисто, Y игрока ниже платформы - КОНЕЦ. Попробую сейчас сделать... Через moveEvent сделаю.
     
    Последнее редактирование: 7 окт 2018
  10. InterWall

    InterWall Старожил Пользователь

    Баллы:
    173
    PlayerMoveEvent это плохая идея, лучше доведи до конца эту.
     
  11. Автор темы
    pro100koder

    pro100koder Активный участник Пользователь

    Баллы:
    76
    Нет, не плохая. У меня уже используется этот ивент (В игре есть отслеживание прыжков), так что производительность я особо не теряю.
     

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