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

Помогите как запретить кидать зелье опыта

Тема в разделе "Разработка плагинов для новичков", создана пользователем Dima150, 18 янв 2022.

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

    Dima150 Новичок

    Баллы:
    6
    Имя в Minecraft:
    Dimon179
    Напишите плиз как запретить людям кидать зелье опыта
     
  2. slime_j

    slime_j Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    slime_j
    @EventHandler
    public void dropItem(PlayerDropItemEvent event) {
    ItemStack xp = new ItemStack(Material.EXPERIENCE_BOTTLE);
    if(event.getItemDrop()==xp) event.setCancelled(true);
    }
     
  3. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Это не сработает.
    Во-первых, чтобы == вернул true - нужно, чтобы это был один и тот же объект.
    Во-вторых, речь не про дроп, а про использование склянки опыта. Это другое событие.
    Примерно так будет:

    PHP:
    @EventHandler
    private void onDropExp(PlayerInteractEvent event) {
        
    ItemStack itemInHand event.getItem();
        if (
    itemInHand != null && itemInHand.getType() == Material.EXPERIENCE_BOTTLE) {
            
    event.setCancelled(true);
        }
    }
     

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