1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

В разработке Запрет на получение некоторых блоков из креатива

Тема в разделе "Разработка плагинов для новичков", создана пользователем NiceWorksYouDo, 12 июн 2023.

  1. Автор темы
    NiceWorksYouDo

    NiceWorksYouDo Активный участник

    Баллы:
    61
    Хочу сделать чтобы некоторые блоки в креативе были доступны только донатерам. Для этого мне надо как-то отслеживать когда игроки берут эти блоки, а как это сделать я не знаю :( Подскажите, какое событие вызывается при этом и как его грамотно отменить для игроков без пермишена.
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    InventoryCreativeEvent
     
  3. VladNotch

    VladNotch Активный участник Пользователь

    Баллы:
    76
    Разве он не считывает только нижние 9 слотов игрока?
     
  4. VladNotch

    VladNotch Активный участник Пользователь

    Баллы:
    76
    Я не уверен, что это заработает, но по идеи так. У меня сомнения на счет того, получится ли сравнить, что инвентарь является инвентарем игрока без самого экземпляра игрока.
    PHP:
    public class InventoryEventListener implements Listener {

        @
    EventHandler
        
    public void onInventory(@NotNull InventoryEvent event) {

            
    Inventory inv event.getInventory();
            List<
    Materialmaterials Arrays.asList(Material.DIAMOND_BLOCKMaterial.GOLD_BLOCK); // Любые другие материалы, можно даже из конфига брать

            
    if (inv.getHolder() instanceof PlayerInventory)
                for (
    Material material materials)
                    if (
    inv.contains(material))
                        
    inv.remove(material);

        }

    }
     
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Все считается, клиент передает айтемстак и номер слота.
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Не поможет твой костыль, в креативе свой отдельный ивент срабатывает, писал выше.
     

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