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

Помогите [Решено] Как зажечь блок?

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    EnderBro3D
    Облазил весь гугл, все сурцы nms/craftbukkit, ничего не нашёл.
    Подскажите, как это сделать :3
     
  2. Автор темы
    EnderBro3D

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

    Баллы:
    76
    Имя в Minecraft:
    EnderBro3D
    Решено.
    Код:
                    Arrow arrow = (Arrow) e.getEntity();
                    if(arrow.getFireTicks() != -1) { //Проверяю, горит ли стрела
                        Block relative = e.getHitBlock().getRelative(e.getHitBlockFace()); //Получаю в какую сторону стрельнули.
                        relative.setType(Material.FIRE); //Поджигаю эту сторону
                        arrow.setFireTicks(-1); //Отключаю горящую стрелу
                    }
    Появился ещё один вопрос, новую тему создавать лень.
    Как узнать из какой руки стрельнул игрок?
     
  3. Автор темы
    EnderBro3D

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

    Баллы:
    76
    Имя в Minecraft:
    EnderBro3D
    И это тоже решено!
    Код:
                if(p.getGameMode() != GameMode.CREATIVE) {
                    //Hand detection
                    if(p.getInventory().getItemInMainHand() == null
                            || !p.getInventory().getItemInMainHand().equals(e.getBow())) {
                        //Off hand
                        p.getInventory().setItemInOffHand(null);
                    } else if(p.getInventory().getItemInOffHand() == null
                            || !p.getInventory().getItemInOffHand().equals(e.getBow())) { //На всякий случай, вдруг что
                        //Main hand
                        p.getInventory().setItemInMainHand(null);
                    } else { //Воу баг, нежданчик, а я уже подстраховался)
                        //Unknown
                        p.sendMessage("Bug :c");
                        e.setCancelled(true);
                    }
                }
    Тема закрыта)
     
Статус темы:
Закрыта.

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