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

Запрет взрыва блока.

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

  1. Автор темы
    EntrySet

    EntrySet Участник

    Баллы:
    31
    Имя в Minecraft:
    EntrySet
    Добрый день, у меня возникла проблема. Как можно отследить ивент когда иссушитель ломает блок и отменить его? Помогите пожалуйста.
     
  2. ZDCoder

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

    Баллы:
    76
    BlockExplodeEvent
     
  3. Ratewio

    Ratewio Активный участник Пользователь Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Ratewio
    Привет, я тоже начинающий, нашел BlockExplodeEvent event, мне нужно зделать чтобы алмазный блок не взрывался, создав такой эвент он всё равно взрывается от динамита
    Код:
        @EventHandler
        public void ExplodeBlock(BlockExplodeEvent event) {
            Block block = event.getBlock();
            final String name = block.getType().toString();
            if(name.equalsIgnoreCase("DIAMOND_BLOCK")) {
                event.setCancelled(true);
            }
        }
     
  4. Witenin

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

    Баллы:
    76
    Имя в Minecraft:
    Witenin
    Горящий динамит это же Entity насколько помню. EntityChangeBlockEvent
     
  5. Ratewio

    Ratewio Активный участник Пользователь Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Ratewio
    Код:
    public void ExplodeBlock(EntityChangeBlockEvent  event) {
            Block block = event.getBlock();
            final String name = block.getType().toString();
            if(name.equalsIgnoreCase("DIAMOND_BLOCK")) {
                event.setCancelled(true);
            }
        }
    попробовал так, но он всё равно взрывается, так же двигается поршнями, пропускает редстоун сигнал, возможно я чтото не правильно написал?
     
  6. ZDCoder

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

    Баллы:
    76
    upload_2021-11-3_18-54-50.png
     
  7. Ratewio

    Ratewio Активный участник Пользователь Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Ratewio
    Код:
    @EventHandler
        public void ExplodeBlock(EntityChangeBlockEvent event) {
            if(event.getEntityType()==EntityType.PRIMED_TNT) {
                if(event.getBlock().getType() == Material.DIAMOND_BLOCK) {
                    event.setCancelled(true);
                }
            }
        }
    Странно, взрывается всё равно, попробовал также и EntityType.MINECART_TNT
     
  8. Автор темы
    EntrySet

    EntrySet Участник

    Баллы:
    31
    Имя в Minecraft:
    EntrySet
    Спасибо, помогло
     
  9. Автор темы
    EntrySet

    EntrySet Участник

    Баллы:
    31
    Имя в Minecraft:
    EntrySet
    Анархию лечишь? :nerd:
     
  10. Ratewio

    Ratewio Активный участник Пользователь Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Ratewio
    !? а мне не помогло
     
  11. Автор темы
    EntrySet

    EntrySet Участник

    Баллы:
    31
    Имя в Minecraft:
    EntrySet
    public static List<String> list = Utils.getStringList("blocks");


    @EventHandler(priority = EventPriority.HIGHEST)
    public void onExplode3(EntityChangeBlockEvent e) {

    int result = 0;

    if(list.contains(e.getBlock().getType().name())){
    result++;
    }

    if(result > 0){
    e.setCancelled(true);
    }
    }
     
  12. Ratewio

    Ratewio Активный участник Пользователь Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Ratewio
    почти... свой плагин пишу, уже всё основное сделано, всё равно ничего из предложенного мне не помогло :/
     
  13. Witenin

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

    Баллы:
    76
    Имя в Minecraft:
    Witenin
    Так может ты слушатель не зарегистрировал...
     
  14. Ratewio

    Ratewio Активный участник Пользователь Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Ratewio
    Listener?
    а, да, вроде его нигде нету, а куда его надо, прости за глупый вопрос конечно
     
  15. Ratewio

    Ratewio Активный участник Пользователь Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Ratewio
    implements Listener
    а не, вру, есть он, другие же @EventHandler прекрасно работают
     
  16. Witenin

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

    Баллы:
    76
    Имя в Minecraft:
    Witenin
    В главном классе нужно регистрировать слушатель... Гугл в помощь
     

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