Войти или зарегистрироваться

Помогите Ошибка из ничего

  • Автор темы Автор темы yann1n
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
На новых версиях ты никак не получишь название инвентаря.
Это сделано для того, чтобы люди по-человечески сравнивали инвентари.
По-человечески - это средствами InventoryHolder.
Один из множества примеров использования:
 
На новых версиях ты никак не получишь название инвентаря.
Это сделано для того, чтобы люди по-человечески сравнивали инвентари.
По-человечески - это средствами InventoryHolder.
Один из множества примеров использования:
Как я понял после instanceof должен находится класс с конструктором гуай меню?
 
Всегда проверял совпадение инвентаря так:
Код:
    private boolean isThatInventory(Inventory inv) {
        return (Arrays.equals(inventory.getContents(), inv.getContents()) && inventory.getHolder().equals(inv.getHolder()));
    }
inventory храню в классе меню, inv передается в метод из ивентов (InventoryCloseEvent, InventoryDragEvent, InventoryClickEvent).
Уж не помню, почему я не ограничился только проверкой InventoryHolder'a, но, наверное, не без причины.
 
Последнее редактирование:
Уж не помню, почему я не ограничился только проверкой InventoryHolder'a, но, наверное, не без причины.
Причина может быть только одна - если для разных инвентарей используется один и тот же холдер. Так делать не стоит. И уж тем более нет смысла сравнивать содержимое инвентарей, если можно просто сравнить ссылки на инвентари.

Холдер - это подразумиваются бочки, инвентари игроков или сундуки, как я понял?
Это не сами инвентарь. Это скорее объект, к которому принадлежит этот инвентарь.
Смотрим метод Inventory#getHolder():
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/Inventory.html#getHolder()
"Gets the block or entity belonging to the open inventory"
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх