Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Баг непонятного происхождения в PlayerClickEvent

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

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

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

    Баллы:
    63
    Имя в Minecraft:
    DarkForce101
    Доброе время суток, я столкнулся с непонятным багом и не имею ни малейшего понятия, как его фиксить. Если кратко:

    Создаю я ивент и ставлю проверку:

    @EventHandler
    public void playerclickinventory(InventoryClickEvent e){
    ItemStack i = e.getCurrentItem();
    if(i.getType() == Material.EMERALD) {
    e.setCancelled(true);
    }
    }

    Если игрок тыкает в инвенторе по изумруду, то мы не даем ему его взять, вроде все очевидно. Так вот, не очевидно. При некоторых обстоятельствах ивент решает не сработать, а именно: Если быть в гм 1, включить "Survival Inventory" и тыкнуть по предмету, указанному выше, ЛКМ или ПКМ, то действие отменяется, все работает, если тыкнуть второй раз, то ивент даже не срабатывает, на третий клик снова все нормально, на четвертый опять не срабатывает. Таким образом, каждым четным кликом по айтему в инвенторе, мы спокойно можем взять предмет в руку.

    Я не понимаю, как такое вообще может происходить и что с ним не так. Прошу помочь с фиксом бага или альтернативой кода. Фотография инвенторя, в котором срабатывает баг, прикреплена ниже. Отвечать можете сюда или в ВК. Заранее спасибо.

    VK: https://vk.com/id483909573
     

    Вложения:

    • Nu3Vcigt.png
      Nu3Vcigt.png
      Размер файла:
      82,4 КБ
      Просмотров:
      5
  2. Хостинг MineCraft
    <
  3. Pelmeshik

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

    Баллы:
    78
    А где проверка на инвентарь?
     

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