- Баллы
- 76
- Имя в Minecraft
- AguRChek_TV
Как сделать проверку имени предмета при нажатия по предмету в инвентаре ?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
@EventHandler
public void onInventoryClick (InventoryClickEvent e) {
if (e.getCurrentItem() != null){
if (e.getCurrentItem(). getItemMeta(). getDisplayName() == "Имя Которое Тебе Нужно "){
//todo
}
}
}
Код:@EventHandler public void onInventoryClick (InventoryClickEvent e) { if (e.getCurrentItem() != null){ if (e.getCurrentItem(). getItemMeta(). getDisplayName() == "Имя Которое Тебе Нужно "){ //todo } } }
Бро я наверное полный дэбыл но я не понимаю что тут не так оно просто не работает хоть обосрись.Код:@EventHandler public void onInventoryClick (InventoryClickEvent e) { if (e.getCurrentItem() != null){ if (e.getCurrentItem(). getItemMeta(). getDisplayName() == "Имя Которое Тебе Нужно "){ //todo } } }
Просто == сравнивает ссылки на объект, а equals сравнивает значение.Бро я наверное полный дэбыл но я не понимаю что тут не так оно просто не работает хоть обосрись.
@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);
}
я вообще ничего не понял.Просто == сравнивает ссылки на объект, а equals сравнивает значение.
И еще, определять предмет по дисплейнейму такая себе идея, ибо у предмета он может отсутствовать, либо меняться. Проще сделать все по индексам.
ураааа я дадумался мамаа))Просто == сравнивает ссылки на объект, а equals сравнивает значение.
И еще, определять предмет по дисплейнейму такая себе идея, ибо у предмета он может отсутствовать, либо меняться. Проще сделать все по индексам.
e.getCurrentItem().getItemMeta().getDisplayName() == "Имя Которое Тебе Нужно "
Строки сравниваются при помощи .equals():e.getCurrentItem().getItemMeta().getDisplayName() == "Battle Royale (Click to Play)"
Строки сравниваются при помощи .equals():
e.getCurrentItem().getItemMeta().getDisplayName().equals("Battle Royale (Click to Play)")
С == работать не будет
Так в коком моменте времени я про..
@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);
}
@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 = (Player) event.getWhoClicked();
player.sendMessage(ChatColor.BLUE + "[Server]" + ChatColor.WHITE + " - " + ChatColor.GOLD + "Connection...");
event.setCancelled(true);
}