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

Помогите InventoryClickEvent происходит дважды

Тема в разделе "Разработка плагинов для новичков", создана пользователем maybeTripll, 20 июл 2020.

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

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

    Баллы:
    38
    Здравствуйте, возникла маленькая проблема: InventoryClickEvent вызывается дважды. То есть, у меня есть код:
    Код:
    if(e.getInventory().getName().equalsIgnoreCase("§0Особые чары | Вампиризм")) {
       e.setCancelled(true);
       ItemStack hand = p.getItemInHand();
       ItemMeta meta = hand.getItemMeta();
       Random r = new Random();
       int index = r.nextInt(100);
       if(e.getSlot() == 21) {
        ArrayList<String> lore = new ArrayList<String>();
        if(index < 50) {
         lore.add(ChatColor.AQUA + "Вампиризм");
         meta.setLore(lore);
         hand.setItemMeta(meta);
         p.sendMessage("Вы поставили особый чар");
        } else {
         p.sendMessage("Вы не поставили особый чар!");
        }
       }
      }
    
    При нажатии ивент вызывается дважды, на скрине показан пример
    upload_2020-7-20_13-46-36.png
    P.s: заметил, что не только этот ивент вызывается дважды, а все
     
    Последнее редактирование: 20 июл 2020
  2. Хостинг MineCraft
    <
  3. xXCopafumeXx

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

    Баллы:
    68
    Имя в Minecraft:
    xXCopafumeXx
    Что за ядро? И какая версия майна ?
     
  4. xXCopafumeXx

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

    Баллы:
    68
    Имя в Minecraft:
    xXCopafumeXx
    Просто если у тебя версия выше 1.8, то нужно выбрать именно руку. Ибо их 2, значит и два ивента.
     
  5. Автор темы
    maybeTripll

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

    Баллы:
    38
    Как можно реализовать проверку на основную руку?
     
  6. xXCopafumeXx

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

    Баллы:
    68
    Имя в Minecraft:
    xXCopafumeXx
    player.getMainHand().ну_а_дальше_тут_свои_проверки_и_т._д.
     
  7. xXCopafumeXx

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

    Баллы:
    68
    Имя в Minecraft:
    xXCopafumeXx
    Или вот: if(e.getHand() != EquipmentSlot.HAND) return; //Будет обрабатывать только главную руку
     
  8. Автор темы
    maybeTripll

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

    Баллы:
    38
    Это же только для интеракта, нет? Просто у меня это upload_2020-7-20_14-19-18.png
     
  9. xXCopafumeXx

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

    Баллы:
    68
    Имя в Minecraft:
    xXCopafumeXx
    А да, для интеракта. Попробуй на игроке
     
  10. Автор темы
    maybeTripll

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

    Баллы:
    38
    Не помогло
     

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