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

Взрывы тнт

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

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

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

    Баллы:
    31
    Имя в Minecraft:
    Copter533
    Как отменять разрушения блоков, которые не находятся в списке поставленных (список координат)? Ивент BlockExplodeEvent не отслеживается у меня при взрыве тнт, никаких посторонних плагинов нет. Paper 1.12.2
     
  2. MrAlexeiMK

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

    Баллы:
    66
    Имя в Minecraft:
    MrAlexeiMK
    EntityExplodeEvent мб?
     
  3. NotCopter

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

    Баллы:
    31
    Это вроде событие взрыва крипера
     
  4. MrAlexeiMK

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

    Баллы:
    66
    Имя в Minecraft:
    MrAlexeiMK
    Ивент не отслеживается совсем или не отслеживаются твои условия в ивенте? Там вроде в event.blockList() нужно добавлять те блоки, которые ты хочешь сохранить после взрыва
     
  5. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    После поджигания динамит становится сущностью, так что совет верный - используй EntityExplodeEvent. BlockExplodeEvent срабатывает при взрыве таких блоков, как кровати в незере/энде.
     
  6. Автор темы
    Copter533

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

    Баллы:
    31
    Имя в Minecraft:
    Copter533
    Ну, хорошо, я получил список блоков, прошёл по списку и понял какие нужно оставить, а какие нет, как мне отменить их уничтожение?
     
  7. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    PHP:
    Iterator<BlockblockIterator event.blockList();
    while (
    blockIterator.hasNext()) {
        
    Block block blockIterator.next();
        if (
    если block нужно сохранить) {
            
    blockIterator.remove();
        }
    }
     
  8. Автор темы
    Copter533

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

    Баллы:
    31
    Имя в Minecraft:
    Copter533
    Спасибо, но я сделал через event.blockList().removeIf(x -> УСЛОВИЕ);
     
  9. Автор темы
    Copter533

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

    Баллы:
    31
    Имя в Minecraft:
    Copter533
    Динамит взрывается, список меняется, но не работает...

    upload_2023-9-8_15-20-38.png
     
  10. Автор темы
    Copter533

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

    Баллы:
    31
    Имя в Minecraft:
    Copter533
    А, я понял, второй инстанс объекта, который слушает это событие перезаписывал список на пустой. Я просто добавил проверку на то, что мы в нашем мире.
     
Статус темы:
Закрыта.

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