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

Помогите Проверить содержимое сундука

Discussion in 'Разработка плагинов для новичков' started by Lisenochek, Jul 22, 2016.

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

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Всем привет. Как вот можно проверить содержимое сундука в событии?
    Перелазил англ.ведро, видимо, что я плохо искал.

    Пытался так, но мне кажется, что это бред

    Code:
    chest.getBlockInventory().getContents.equals(null)) {
    }
     
  2. Хостинг MineCraft
    <
  3. SaloEater

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

    Trophy Points:
    66
    Вот так, наверное.
    Code:
    if (chest.getInventory().contains(Material.CARROT_ITEM)) {
                //Код
     }
    
     
  4. Автор темы
    Lisenochek

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    А мне надо проверить, содержит ли он ничего?

    null не помогает
     
  5. SaloEater

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

    Trophy Points:
    66
    Гугл говорит, что так можно попробовать
    Code:
    public boolean isInvEmpty(Inventory inv) {
        for(ItemStack item : inv.getContents()) {
            if(item != null) {
                return false;
            }
        }
        return true;
    }
     
  6. Автор темы
    Lisenochek

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    А где именно ты нашел?
     
  7. SaloEater

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

    Trophy Points:
    66
    гугл
    тема
     
  8. Автор темы
    Lisenochek

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Мне надо вставить это в событие, как условие, но не как метод.
     
  9. SaloEater

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

    Trophy Points:
    66
    На примере открытия сундука.
    Code:
        @EventHandler
        public void onInventoryOpenEvent(InventoryOpenEvent e){
            InventoryHolder iH = e.getInventory().getHolder();
            if (iH instanceof Chest || iH instanceof DoubleChest){
                if(isInvEmpty(e.getInventory())){
                    //Код
                }
            }
        }
    
        public boolean isInvEmpty(Inventory inv) {
            for(ItemStack item : inv.getContents()) {
                if(item != null) {
                    return false;
                }
            }
            return true;
        }
     
  10. _MediaNik_

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

    Trophy Points:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Так сделай из него условие, что ты тупишь то?
    Code:
    public void isInvEmpty(Inventory inv) {
        for(ItemStack item : inv.getContents()) {
            if(item != null) {
               //тут если не пустой
               return;
            }
        }
        //если пустой;
    }
     
  11. Автор темы
    Lisenochek

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Спасибо, разобрался!
     
  12. Dymeth

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

    Trophy Points:
    76
    Коротко о том, что такое программирование.
     
  13. Автор темы
    Lisenochek

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Все же не то было событие, надо было править код
     
  14. SaloEater

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

    Trophy Points:
    66
    Я просто показал, как использовать функцию, как условие.
     
  15. Dymeth

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

    Trophy Points:
    76
    Я о том, что простейшие Java-задачи гуглятся в контексте майнкрафта. Такое ощущение, что перебрать все предметы и проверить на null крайне сложно. Я бы посоветовал тебе и товарищу @SaloEater начать с азов джавы. Серьёзно.
     
  16. SaloEater

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

    Trophy Points:
    66
    Я не умею думать быстро, поэтому пользуюсь гуглом.
     
  17. Dymeth

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

    Trophy Points:
    76
    Тут не нужно думать быстро - задача элементарная. Достаточно понимать принцип языка. Самому писать код гораздо быстрее и полезнее.
    Впрочем, это лишь совет. Можно и дальше пытаться гуглить весь код и создавать десятки тем на RuBukkit, надеясь на помощь и адекватность местных комментаторов.
     
    Last edited: Jul 23, 2016
  18. xDark

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    а нельзя проще?
    ItemStack cmd137 = new ItemStack(Material.DIAMOND, 1).

    Далее вызывать PlayerInteractEvent, проверить что мы кликаем на блок и блок это сундук, и дальше - if (chest.getInventory().contains(cmd137)) {
    Как проверить что мы кликаем на сундук и получить chest - я тебе уже писал )) ыыы
    (сказал говнокодер)
    SNOOP FEEDING
     
  19. SaloEater

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

    Trophy Points:
    66
    тыкни
     
  20. xDark

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    пффы, сказал парень который все с интернета берет, который не умеет "думать быстро".
    Я тебя понял, спасибо, но "в мир" плагины не пишу
     
  21. Dymeth

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

    Trophy Points:
    76
    Нужно проверить, пуст ли сундук, а не обнаруживать конкретный предмет.
     

Share This Page