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

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

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

  1. SaloEater

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

    Баллы:
    66
    Ты не прочитал, поэтому не понял. Я могу думать, а ты отказываешься. :coffee:
     
  2. Хостинг MineCraft
    <
  3. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    хм а зачем создавать еще и условие, если есть
    if (chest.getInventory().firstEmpty ....) ?????
     
  4. SaloEater

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

    Баллы:
    66
    Возвращает первый пустой слот. Пользы нет.
     
  5. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Неверно.
    С таким же успехом, я могу проверить инвентарь игрока в любом ивенте и что - то делать.
    Код:
        @EventHandler
        public void fullInventoryBreak(BlockBreakEvent event) {
            Player p = event.getPlayer();
           
            if (p.getInventory().firstEmpty() == -1) {
                event.setCancelled(true);
                p.sendMessage("Ваш инвентарь полон!");
            }
        }
     
  6. SaloEater

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

    Баллы:
    66
    Кто-то говорил, что все слоты будут заняты?
     
  7. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Код:
        @EventHandler
        public void test(BlockBreakEvent event) {
            Player p = event.getPlayer();
       
            // 0 - первый слот
            if (p.getOpenInventory().getItem(0).getType() == null // или Material.AIR) {
                // шо то делаем
            }
        }
    И так же с сундуком.
     
  8. SaloEater

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

    Баллы:
    66
    Нужен Пустой Сундук.
     
  9. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Код:
        @EventHandler
        public void fullInventoryBreak(BlockBreakEvent event) {
            Player p = event.getPlayer();
        
            if (p.getInventory().firstEmpty() == -1) {
                event.setCancelled(true);
                p.sendMessage("Ваш инвентарь полон!");
            }
        }
    Так же с сундуком!
    Проверь пожалуйста :)
    (p.s: это если сундук полон, а вот как пустой, это уже Вам думать)
     
  10. SaloEater

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

    Баллы:
    66
     
  11. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    шо то Eclipse чудит, я ему объяснил как определить, что это сундук, а дальше - пусть делает что хочет, я предложил свой вариант (я не слился))
    Я не совсем понимаю что именно значит
    Код:
        @EventHandler
        public void test(PlayerInteractEvent event) {
              Player p = event.getPlayer();
           
              Block b = (Block) event.getClickedBlock();
         
            if (event.getAction() == Action.RIGHT_CLICK_BLOCK && b.getType() == Material.CHEST) {
                Chest chest = (Chest) b.getState();
             
                if (chest.getInventory().getItem(0) != null) {
                    ///
                }
            }
        }
    т.к. видимо еще не совсем проснулся.
     
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    ItemStack[] stacks = chest.getBlockInventory().getContents();
    isNull(stacks);
    Код:
        boolean isNull(ItemStack[] stacks) {
            for(ItemStack stack : stacks) {
                if(stack!=null) {
                    return false;
                }
            }
            return true;
        }
     
    Последнее редактирование: 23 июл 2016

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