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

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

Discussion in 'Разработка плагинов для новичков' started by maybeTripll, Jul 20, 2020.

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

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

    Trophy Points:
    38
    Здравствуйте, возникла маленькая проблема: InventoryClickEvent вызывается дважды. То есть, у меня есть код:
    Code:
    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: заметил, что не только этот ивент вызывается дважды, а все
     
    Last edited: Jul 20, 2020
  2. Хостинг MineCraft
    <
  3. xXCopafumeXx

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    38
    Не помогло
     

Share This Page