Помогите Дроп из сундука

EvgeniyND

Новичок
Пользователь
Баллы
11
Имя в Minecraft
EvgeniyND
Подскажите как получить то что было в сундуке при его разбитие?
 
Ну, тогда попробуй получать из блока объект сундука, из него - инвентарь сундука, дальше сообразишь
Тоже не получается. Когда создаю объект сундука и беру инвентарь, то он уже пустой на тот момент. Событие onbreakevent уже произошло и дроп вылетел.
Похоже получится только через костыль.
Код:
e.setCancelled(true);
//тут получить инвентарь
e.getBlock().breakNaturally(new ItemStack(Material.AIR));
 
Последнее редактирование:
Тоже не получается. Когда создаю объект сундука и беру инвентарь, то он уже пустой на тот момент. Событие onbreakevent уже произошло и дроп вылетел.
Похоже получится только через костыль.
Код:
e.setCancelled(true);
//тут получить инвентарь
e.getBlock().breakNaturally(new ItemStack(Material.AIR));
Ну хз хз...

Код:
@EventHandler
    public void onBreak(BlockBreakEvent e) {
        if (e.getBlock().getType() == Material.CHEST) {
            Chest box = (Chest) e.getBlock().getState();
            Inventory inven = box.getInventory();
            for (ItemStack i : inven.getContents()) {
                if(i != null)System.out.println(i.getType().name());
            }
        }
    }
 
Да спасибо. Проверил, перебрал итемсы все есть. Но когда я записываю инвентарь в переменную и потом создав сундук применяю из переменной то все итемсы почему то AIR
 
Попробуй создать список<ItemStack> и записать туда каждый предмет в твоём инвентаре.
Думаю, это будет выглядеть как-то так:
Код:
List<ItemStack> items = new ArrayList<>();
inven.forEach(items::add);
 
Назад
Верх