Помогите Рандомный пустой слот сундука

Статус
Закрыто для дальнейших ответов.

OJIEKCAHDP

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
OJIEKCAHDP
Как получить рандомный пустой слот с инвентаря сундука?
Делал так:

Код:
int[] slot = new Random().nextInt(26);               
while (inventory.getItem(slot) != null) {
                   slot = new Random().nextInt(26);
               }
Иногда нормально не фурычит, получает слот который занят
 
Как получить рандомный пустой слот с инвентаря сундука?
Делал так:

Код:
int[] slot = new Random().nextInt(26);             
while (inventory.getItem(slot) != null) {
                   slot = new Random().nextInt(26);
               }
Иногда нормально не фурычит, получает слот который занят
Я бы это сделал как-то так:
PHP:
    public int getRandomEmptySlot(Inventory inventory) {
        List<Integer> emptySlots = new ArrayList<>();
        for (int i = 0; i < inventory.getSize(); i++) {
            if (inventory.getItem(i) == null)
                emptySlots.add(i);
        }
        return emptySlots.get(ThreadLocalRandom.current().nextInt(emptySlots.size()));
    }
 
Я бы это сделал как-то так:
PHP:
    public int getRandomEmptySlot(Inventory inventory) {
        List<Integer> emptySlots = new ArrayList<>();
        for (int i = 0; i < inventory.getSize(); i++) {
            if (inventory.getItem(i) == null)
                emptySlots.add(i);
        }
        return emptySlots.get(ThreadLocalRandom.current().nextInt(emptySlots.size()));
    }
Спасибо огромное
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх