Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
С одной стороны плюсую, с другой же на Spigot 1.17 кастомные IH больше не поддерживаются (хотя Paper вернули их поддержку у себя).Используй InventoryHolder и проверяй по нему
И что предлагается использовать вместо IH? Явно не тайтлыС одной стороны плюсую, с другой же на Spigot 1.17 кастомные IH больше не поддерживаются (хотя Paper вернули их поддержку у себя).
Только что проверил, все работает. Да и информации о том, что IH больше не поддерживается, я не нашел.С одной стороны плюсую, с другой же на Spigot 1.17 кастомные IH больше не поддерживаются (хотя Paper вернули их поддержку у себя).
@EventHandler
public void onClick(InventoryClickEvent e) {
if (e.getClickedInventory() == null) return;
if (e.getClickedInventory().getHolder() == null) return;
if (e.getClickedInventory().getHolder() instanceof CustomHolder)
e.getWhoClicked().sendMessage("123");
}
md_5 и ко. всегда были против использования IH для выявления кастомных инвентарей, но по какой-то причине оно всё ещё как-то да работает/работало. Патч Paper. Вот какая-никакая официальная позиция. Плюс проблемы с кастомными IH закрываются/игнорируются.Только что проверил, все работает. Да и информации о том, что IH больше не поддерживается, я не нашел.
PHP:@EventHandler public void onClick(InventoryClickEvent e) { if (e.getClickedInventory() == null) return; if (e.getClickedInventory().getHolder() == null) return; if (e.getClickedInventory().getHolder() instanceof CustomHolder) e.getWhoClicked().sendMessage("123"); }
Вероятно, хранить их самому? Что-то вроде Set<Inventory> invs = Collections.newSetFromMap(new IdentityHashMap<>()), да добавлять/удалять при соответствующих действиях. Не знаю, что именно у них на уме - доступа к их сташу не имею.И что предлагается использовать вместо IH? Явно не тайтлы
Да все так же работает как и работало.И что предлагается использовать вместо IH? Явно не тайтлы
Он всё равно учитывает инвентарь игрока как IHИспользуй InventoryHolder и проверяй по нему
Так ты на instanceof проверяй.Он всё равно учитывает инвентарь игрока как IH
Подниму пожалуй тему. В принципе, как альтернативу, можно использовать InventoryView. Если уберут возможность использовать IH для кастомных инвентарей, то InventoryView вполне подойдет в качестве замены.md_5 и ко. всегда были против использования IH для выявления кастомных инвентарей, но по какой-то причине оно всё ещё как-то да работает/работало. Патч Paper. Вот какая-никакая официальная позиция. Плюс проблемы с кастомными IH закрываются/игнорируются.
Вероятно, хранить их самому? Что-то вроде Set<Inventory> invs = Collections.newSetFromMap(new IdentityHashMap<>()), да добавлять/удалять при соответствующих действиях. Не знаю, что именно у них на уме - доступа к их сташу не имею.
(это я создал тему со второго акка, потому что этот на 4 месяца банили на неправильную категорию вопроса). Всё легче в 1000 раз. Была проблема с тем, что инвентарь игрока так же клики считывал. Я просто сравнил inventoryholder, а потом кликнутый инвентарь и инвентарь игрока. В первый раз хз почему, но тупил и не мог догадаться. Тема закрыта если чтоПодниму пожалуй тему. В принципе, как альтернативу, можно использовать InventoryView. Если уберут возможность использовать IH для кастомных инвентарей, то InventoryView вполне подойдет в качестве замены.
Tо бишь, также кастомно реализовать IV, и открывать игроку уже его?Подниму пожалуй тему. В принципе, как альтернативу, можно использовать InventoryView. Если уберут возможность использовать IH для кастомных инвентарей, то InventoryView вполне подойдет в качестве замены.
Ага. А проверку можно примерно такую делатьTо бишь, также кастомно реализовать IV, и открывать игроку уже его?
@EventHandler
public void onClick(InventoryClickEvent e) {
if (e.getClickedInventory() == null) return;
if (e.getWhoClicked().getOpenInventory() instanceof CustomInventoryView) {
if (e.getClickedInventory().getHolder() != null && e.getClickedInventory().getHolder() instanceof Player) return;
e.getWhoClicked().sendMessage("You clicked in custom inventory. Slot: " + e.getSlot());
}
}
Да ничего там не уберут, не ссы. В спиготе были некоторые проблемы с инвентарами вида наковальни, в бумаге сделали свою реализацию и все.Подниму пожалуй тему. В принципе, как альтернативу, можно использовать InventoryView. Если уберут возможность использовать IH для кастомных инвентарей, то InventoryView вполне подойдет в качестве замены.