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

Помогите BlockBreakEvent проблема

Тема в разделе "Разработка плагинов для новичков", создана пользователем N-Games, 13 май 2020.

Метки:
  1. Автор темы
    N-Games

    N-Games Новичок

    Баллы:
    16
    У меня проблема с эвентом. Когда игрок ломает блок, он должен регенерироваться, это и происходит, но судя по всему до того как игрок его сломает, выпадает блок который должен был появиться после регенерации.
    (это не плагин на приваты)
     
  2. _fox_1_

    _fox_1_ Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    fox120
    скинь код плагина если это ты сам писал, или название плагина если ты взял какой-то плагин
     
  3. Автор темы
    N-Games

    N-Games Новичок

    Баллы:
    16
    https://pastebin.com/gUXadCw7
    Я там кое что вчера сделал. За счёт destroy теперь блок выпадает как надо, но это не решает проблему до конца. Кирка не теряет прочность, блоки сломанные киркой на шёлковое касание / удачу выпадают как обычные, или наоборот алмазы выпадают, даже если сломать их рукой
     
  4. testet

    testet Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    djdj
    По логике у тебя должен моментально возращаться блок и ничего более, если это не так, то возможно дело в других плагинах. Ломание кирки ты уже должен сделать кастомно.
     
  5. alexandrage

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

    Баллы:
    173
    Тебе нужен запрет дропа, но с ломанием кирки? Тогда так setDropItems(false);
     
  6. alexandrage

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

    Баллы:
    173
    Или нужно вернуть блок после ломания оставив его дроп? Тогда так
    Код:
            Block block = e.getBlock();
            BlockData blockData = block.getBlockData();
            new BukkitRunnable() {
                @Override
                public void run() {
                    block.setBlockData(blockData);
                }
            }.runTask(this.plugin);
     

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