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

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

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

  1. SaloEater

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    66
    Нужен Пустой Сундук.
     
  9. xDark

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Code:
        @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 Активный участник Пользователь

    Trophy Points:
    66
     
  11. xDark

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    шо то Eclipse чудит, я ему объяснил как определить, что это сундук, а дальше - пусть делает что хочет, я предложил свой вариант (я не слился))
    Я не совсем понимаю что именно значит
    Code:
        @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 Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    ItemStack[] stacks = chest.getBlockInventory().getContents();
    isNull(stacks);
    Code:
        boolean isNull(ItemStack[] stacks) {
            for(ItemStack stack : stacks) {
                if(stack!=null) {
                    return false;
                }
            }
            return true;
        }
     
    Last edited: Jul 23, 2016

Share This Page