Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Как пофиксить баг с кастомным предметом

m1xmou777e

Активный участник
Баллы
61
Имя в Minecraft
m1xmou7e
Здравствуйте кодеры! Не знаете ли вы как пофиксить баг с кастомным предметом, чтобы его нельзя было перемещать из инвентаря игрока в сундук, да и вообще перемещать куда либо?

 
Проверяешь предмет на кастомность.
Если кастомный, то сравниваешь инвентарь игрока с инвентарем, с которым произошло взаимодействие.
Если инвентари не равны, то отменяешь событие.

P.S. Эти проверки нужны и для InventoryClickEvent, и для InventoryDragEvent
P.S. Тестировать работу лучше выживании, а не в креативе
 
А можно пожалуйста образец кода? Не совсем понимаю как реализовать можно
 
Последнее редактирование:
я щас понял что чатгпт отлично подходит для таких "образцов"
 
Код:
    @EventHandler
    public void onInventoryClick(InventoryClickEvent event) {
        ItemStack item = event.getCurrentItem();
        if (item == null) {
            return;
        }
        PersistentDataContainer container = item.getItemMeta().getPersistentDataContainer();
        if (container.has(ключ, PersistentDataType.STRING)) {
            event.setCancelled(true);

        }
    }

ну вот пример
 
Спасибо. Код работает, но именно если я перемещаю предмет по инвентарю цифрами, то предмет перемещается, такое возможно решить?
 
выше написали про InventoryDragEvent, наверное для него тоже надо обработку сделать
 

Поделиться этой страницей

Назад
Верх