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

Помогите Проверка имени предмета про клике на него.

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    AguRChek_TV
    Как сделать проверку имени предмета при нажатия по предмету в инвентаре ?
     
  2. Mr.Vlad2208

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

    Баллы:
    66
    Имя в Minecraft:
    DoorMatt47
    Код:
    @EventHandler
    
    public void onInventoryClick (InventoryClickEvent e) {
      if (e.getCurrentItem() != null){
          if (e.getCurrentItem(). getItemMeta(). getDisplayName() == "Имя Которое Тебе Нужно "){
                //todo
           }
      }
    }
     
  3. Froman_LOIH

    Froman_LOIH Новичок

    Баллы:
    6
    Имя в Minecraft:
    DRp00NHAMMER

    Привет, мне ещё нужна помощь по этой теме: http://rubukkit.org/threads/proverka-onlajna-servera-majnkraft.165334/
     
  4. Автор темы
    AguRChek_TV

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

    Баллы:
    76
    Имя в Minecraft:
    AguRChek_TV
    Бро я наверное полный дэбыл но я не понимаю что тут не так оно просто не работает хоть обосрись.


    @EventHandler
    public void InventoryClick1(InventoryClickEvent e) {
    if (e.getCurrentItem() != null) {
    if(e.getCurrentItem().getItemMeta().getDisplayName() == "Battle Royale (Click to Play)") {
    Player p = (Player) e.getWhoClicked();
    p.sendMessage(ChatColor.BLUE + "[Server]" + ChatColor.WHITE + " - " + ChatColor.GOLD + "Conecting..");
    }
    }
    e.setCancelled(true);
    }
     
  5. Meltionix

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

    Баллы:
    31
    Просто == сравнивает ссылки на объект, а equals сравнивает значение.
    И еще, определять предмет по дисплейнейму такая себе идея, ибо у предмета он может отсутствовать, либо меняться. Проще сделать все по индексам.
     
  6. Автор темы
    AguRChek_TV

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

    Баллы:
    76
    Имя в Minecraft:
    AguRChek_TV
    я вообще ничего не понял.
     
  7. Автор темы
    AguRChek_TV

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

    Баллы:
    76
    Имя в Minecraft:
    AguRChek_TV
    ураааа я дадумался мамаа))
     
  8. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Строки сравниваются при помощи .equals():
    e.getCurrentItem().getItemMeta().getDisplayName().equals("Battle Royale (Click to Play)")
    С == работать не будет
     
  9. Автор темы
    AguRChek_TV

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

    Баллы:
    76
    Имя в Minecraft:
    AguRChek_TV
    Так в коком моменте времени я про..


    @EventHandler
    public void InventoryClick1(InventoryClickEvent e) {
    if (i1.equals(e.getClickedInventory()) && e.getCurrentItem() != null) {
    if(e.getCurrentItem().getItemMeta().getDisplayName().equals("Battle Royale (Click to Play)")) {
    Player p = (Player) e.getWhoClicked();
    p.sendMessage(ChatColor.BLUE + "[Server]" + ChatColor.WHITE + " - " + ChatColor.GOLD + "Conecting..");
    }
    }
    e.setCancelled(true);
    }
     
  10. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    PHP:
        @EventHandler
        
    private void on(InventoryClickEvent event) {
            if (
    event.getCurrentItem() == null) return; // Предмет отсутвует
            
    if (!event.getCurrentItem().hasItemMeta()) return; // У предмета нет меты
            
    if (!event.getCurrentItem().getItemMeta().hasDisplayName()) return; // У предмета нет имени
            
    if (!event.getCurrentItem().getItemMeta().getDisplayName().equals("Battle Royale (Click to Play)")) return; // Имя не подходит
            
    Player player = (Playerevent.getWhoClicked();
            
    player.sendMessage(ChatColor.BLUE "[Server]" ChatColor.WHITE " - " ChatColor.GOLD "Connection...");
            
    event.setCancelled(true);
        }
     

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