xChupa
Активный участник
- Баллы
- 61
- Имя в Minecraft
- xChupa
В одном классе имеем два метода, которые возвращают созданные в них инвентари:
В другом классе обработчика событий InventoryClickEvent мне нужно сравнить инвентарь с этими двумя. Напрямую через getInventory().equals() не работает, потому что при вызове getOneInventory() или getSecondInventory() создается новый инвентарь.
Попробовал сравнить через getTitile, все работает, но выдает ошибку.
Суть в том, что значение chel задается при обработке первого инвентаря, когда мы кликаем по любому
предмету в первом инвентаре, то выдает ошибку в консоль потому что он прогоняет if во втором событии, а там chel = null;
Я бы мог завернуть это все в try catch, но не думаю что это хорошее решение.
Как мне нормально сравнить клик по инвентарю из события с моими кастомными?
Код:
public Inventory getOneInventory(Player player){
oneInventory = Bukkit.createInventory(player, oneInventorySize, getOneInventoryName(player));
return oneInventory;
}
public Inventory getSecondInventory(Player player, Chel chel){
secondInventory = Bukkit.createInventory(player, secondInventorySize, getSecondInventoryName(player, chel));
return secondInventory;
}
Попробовал сравнить через getTitile, все работает, но выдает ошибку.
Код:
@EventHandler
public void choiceClick(InventoryClickEvent e){
Player player = (Player) e.getWhoClicked();
if(e.getView().getTitle().equals(Main.Choice().getOneInventoryName(player))){
e.setCancelled(true);
if(e.getClick().isLeftClick()){
if(e.getSlot() == 12){
chel = Main.Chel().getChel(Main.Chel().getVasya(), player);
player.openInventory(Main.Choice().getSecondInventory(player, chel));
}}}}
@EventHandler
public void chelClick(InventoryClickEvent e){
Player player = (Player) e.getWhoClicked();
if(e.getView().getTitle().equals(Main.Choice().getSecondInventoryName(player, chel))){
e.setCancelled(true);
//code
}}
предмету в первом инвентаре, то выдает ошибку в консоль потому что он прогоняет if во втором событии, а там chel = null;
Я бы мог завернуть это все в try catch, но не думаю что это хорошее решение.
Как мне нормально сравнить клик по инвентарю из события с моими кастомными?