Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Телепорт при попадании в VOID

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

Статус темы:
Закрыта.
  1. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    _MasterCapeXD_
    Здраствуйте! Использую два ивента:
    Код:
        
        @EventHandler
        public void on(EntityDamageEvent e)
        {
            if(e.getCause() != DamageCause.VOID)
            {
                boolean b = plugin.getConfig().getBoolean("damage");
                plugin.getConfig().set("damage", b);
                plugin.saveConfig();
                e.setCancelled(b);
            }
        }
        @EventHandler
        public void on(PlayerMoveEvent e)
        {
           
            if(e.getPlayer().getLocation().getY() == 0)
            {
                Location loc = plugin.ConfigToLocation();
               
                e.getPlayer().teleport(loc);
                e.getPlayer().setFallDistance(0);
               
            }
        }
    
    Проблема в том, что я проверяю в одном на тип урона, и если это не VOID то проверяю на буленовое значение в конфиге и ставлю setCancelled(); В конфиге стоит true, но при попадании игрока в пустоту, его не телепортирует, но игрок и не умирает.Он бесконечно падает.Помогите розобратся, где ошибка.
     
  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    if(e.getPlayer().getLocation().getY()==0) тут.
     
  4. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    _MasterCapeXD_
    Проблема решена.Но спасибо.Работающий код:
    Код:
      
        @EventHandler
        public void on(PlayerMoveEvent e)
        {
        
            if(e.getPlayer().getLocation().getY() <= 0)
            {
                Location loc = plugin.ConfigToLocation();
            
                e.setTo(loc);
                e.getPlayer().setFallDistance(0);
            
            }
        }
    ПС: Тема закрыта
     
    Последнее редактирование: 14 апр 2017
Статус темы:
Закрыта.

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