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

Помогите Не работает event!

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

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

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

    Баллы:
    46
    Имя в Minecraft:
    Rfg0
    Не работает проверка типа блока!
    Код:
       
        @SuppressWarnings("deprecation")
        @EventHandler
        public void onBlockIgnite(BlockIgniteEvent e){
            Player p = e.getPlayer();
            Block b = e.getBlock();
            p.sendMessage("1");
            if (e.getCause() == IgniteCause.FLINT_AND_STEEL){
                p.sendMessage("2");
                if(b.getType() == Material.NETHERRACK){   
                    p.sendMessage(ChatColor.RED + "Босс вызван!");
                    Location l = b.getLocation();
                    World w = l.getWorld();
                    w.strikeLightning(l);
                    LivingEntity spawnEntity = (LivingEntity) b.getWorld().spawnEntity(l, EntityType.ZOMBIE);
                    spawnEntity.setMaxHealth(2000);
                    spawnEntity.setCustomName(ChatColor.RED + "Zombie Boss");
                    spawnEntity.setCanPickupItems(true);
                    spawnEntity.setCustomNameVisible(true);
                    spawnEntity.setHealth(2000);
                }
            }
        }
    
    Когда поджигаю камень пишется в чат "1","2" ну собственно как и надо. А когда поджигаю незеррак. Опять же пишутся две цифры "1", "2" и всё. Если я просто пишу так:
    Код:
        @SuppressWarnings("deprecation")
        @EventHandler
        public void onBlockIgnite(BlockIgniteEvent e){
            Player p = e.getPlayer();
            Block b = e.getBlock();   
            p.sendMessage(ChatColor.RED + "Босс вызван!");
            Location l = b.getLocation();
            World w = l.getWorld();
            w.strikeLightning(l);
            LivingEntity spawnEntity = (LivingEntity) b.getWorld().spawnEntity(l, EntityType.ZOMBIE);
            spawnEntity.setMaxHealth(2000);
            spawnEntity.setCustomName(ChatColor.RED + "Zombie Boss");
            spawnEntity.setCanPickupItems(true);
            spawnEntity.setCustomNameVisible(true);
            spawnEntity.setHealth(2000);
                
        }
    
    То все работает.
    Подскажите как исправить.
     
  2. Хостинг MineCraft
    <
  3. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    На сколько я помню -- BlockIgniteEvent.getBlock() -- возвращает блок, в котором должен появиться огонь. Чтобы посмотреть какой блок под ним горит нужно использовать BlockIgniteEvent.getBlock().getRelative(0,-1,0);
     
  4. Автор темы
    Rfg0

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

    Баллы:
    46
    Имя в Minecraft:
    Rfg0
    Спасибо!
     
Статус темы:
Закрыта.

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