- Баллы
- 173
У меня странная ситуация. Я сделал кастомный инвентарь и обрабатываю помещение предмета в определенные ячейки. Если класть любые предметы - все работает. Но в ячейках по умолчанию лежит предмет, означающий что ничего не задано. Если я беру этот предмет и кладу обратно в ту же ячейчу, выскакивает NullPointerException на получении предмета, т.е. inv.getItem() = null. Не знаю, в чем дело. Вот код:
И ещё. Как удалить нужный предмет из инвентаря? (У меня даже есть его ячейка)
Код:
if(event.getInventory().getTitle() == LanguageManager.getLang().get("SPELLSMASTER_TITLE")){
InventoryAction action = event.getAction();
Inventory inv = event.getInventory();
if(action.equals(InventoryAction.PLACE_ALL)){
if(event.getRawSlot() == 48){
if(inv.getItem(48).hasItemMeta()){
if(!(inv.getItem(48).getItemMeta().getDisplayName() == "No spell")){
Players.getPlayerByName(((Player)inv.getHolder()).getName()).setSpell1(Spells.getSpellByName(inv.getItem(48).getItemMeta().getDisplayName()));
inv.addItem(event.getCursor());
}
}
} else if (event.getRawSlot() == 50){
if(inv.getItem(50).hasItemMeta()){
if(!(inv.getItem(50).getItemMeta().getDisplayName() == "No spell")){
Players.getPlayerByName(((Player)inv.getHolder()).getName()).setSpell2(Spells.getSpellByName(inv.getItem(50).getItemMeta().getDisplayName()));
inv.addItem(event.getCursor());
}
}
} else {
event.setCancelled(true);
event.setCursor(null);
}
}
}
И ещё. Как удалить нужный предмет из инвентаря? (У меня даже есть его ячейка)
Последнее редактирование: