Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Решено Вопрос по ведру с молоком

Тема в разделе "Помощь", создана пользователем hq4213asdfjn2j3r, 5 авг 2023.

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

    hq4213asdfjn2j3r Ньюби

    Баллы:
    1
    Привет всем. Хочу сделать плагин, который позволяет доить быков. Мне нужно отследить событие. Когда игрок доит корову, вместо ведра с молоком у него в инвентаре должно появится ведро с семенной жидкостью так сказать. Не могу адекватно отследить эвент дойки.

    Код:
    @EventHandler
    public void spermEvent(PlayerBucketFillEvent e){
        if(e.getItemStack().getType().equals(Material.BUCKET)){
            e.getPlayer().getInventory().setItemInMainHand(getBucketOfSperm());
        }
    }
    
    private static ItemStack getBucketOfSperm(){
        ItemStack item = new ItemStack(Material.MILK_BUCKET, 1);
        ItemMeta meta = item.getItemMeta();
        meta.setDisplayName("Ведро спермы");
        item.setItemMeta(meta);
        return item;
    }
    
    это то, что придумал я. Оно, очевидно, не работает. Перерыл полтырнета в поисках похожего вопроса, но увы..

    ps. так же был вариант с проверкой
    Код:
    if(e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.MILK_BUCKET)){
        e.getPlayer().getInventory().setItemInMainHand(getBucketOfSperm());
    }
    
    он тоже нот воркинг

    так же только что проверил вариант с

    Код:
    e.getBucket().equals(Material.MILK_BUCKET)
    
    я подумал что если e.getBucket() возвращает объедок с типом Material то он вернет как раз то, что мне нужно. Нет короче, оно не так работает......
     
    Последнее редактирование: 5 авг 2023
  2. Хостинг MineCraft
    <
  3. Автор темы
    hq4213asdfjn2j3r

    hq4213asdfjn2j3r Ньюби

    Баллы:
    1
    сам нашел решение. Вот оно кому интересно
    Код:
    @EventHandler
    public void spermEvent(PlayerBucketFillEvent e){
        if(e.getItemStack().getType().equals(Material.MILK_BUCKET)){
            e.setCancelled(true);
            e.getPlayer().getInventory().setItemInMainHand(getBucketOfSperm());
        }
    }
    
    e.getItemStack() возвращает стек ведра после евента т.е. MILK_BUCKET
     

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