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

Помогите Почему не закрывается инвентарь?

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

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

    Novichek Новичок

    Баллы:
    6
    Код:
    @EventHandler
       public void onInventoryOpen(InventoryOpenEvent e){
           if (e.getInventory().getType() == InventoryType.MERCHANT)
          {
               Player p = (Player) e.getPlayer();
               p.closeInventory();
          }
       }
    Перепробовал много вариантов, но инвентарь все равно не закрывается.
     
  2. konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Попробуй так
    Код:
        if(ev.getInventory().getType() == InventoryType.MERCHANT) {
           ev.setCancelled(true);
         }
    
     
  3. Автор темы
    Novichek

    Novichek Новичок

    Баллы:
    6
    Спасибо тебе большое! Я так долго парился, а ответ оказался не таким уж и сложным )
     
  4. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    На всякий случай дополню ответ. InventoryOpenEvent обрабатывается ДО открытия инвентаря. Т.е. когда вы закрываете инвентарь у игрока, он ещё не открыт, а открывается сразу после обработки события.
     
  5. Jampire

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

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    нужно шедулер запустить через 1 тик в котором уже выполнить код закрытия инвентаря (с проверкой, открыт ли нужный)
     

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