- Баллы
- 46
- Имя в Minecraft
- MySoulIsCry
Пытаюсь отменить ивент клика по инвентарю путем проверки объекта через instanceof, а не через сравнивание тайтлов как делал раньше, но почему-то e.getInventory().getHolder() instanceof CaseHolder возвращает мне false, не могу понять почему оно думает что этот инвентарь не принадлежит моему классу.
PHP:
public class CaseHolder implements InventoryHolder{
private Player player;
public CaseHolder(Player player) {
this.player = player;
}
@Override
public Inventory getInventory() {
Inventory casesInv = Bukkit.createInventory(null, 54, "");
return casesInv;
}
}
PHP:
if(sender instanceof Player) {
Player player = (Player) sender;
CaseHolder caseHolder = new CaseHolder(player);
player.openInventory(caseHolder.getInventory());
}
PHP:
@EventHandler
public void onClick(InventoryClickEvent e) {
if(e.getInventory().getHolder() instanceof CaseHolder) {
e.setCancelled(true);
}
}