Pickup предмета

Версия Minecraft
1.10.2
101
0
Нужно, чтобы предметы, подобранные на земле, не попадали в хотбар, а только в основной инвентарь. Можете посоветовать простые методы как это сделать? А то у меня только "костыльные" на уме, так как не вижу каких-то нужных функций в PlayerInventory.
Пока что я пробовал отменять EntityItemPickupEvent и совать самостоятельно предмет в нужный слот после кучи проверок.
 
101
0
AustereTony написал(а):
Попробуй EntityItemPickupEvent проверять на первый пустой слот, не принадлежащий хотбару (0-8), вроде того:
Если player.inventory.getFirstEmptyStack() > 8 то подбирать, иначе отменять эвент.
P.S. На счёт названия метода не уверен
Так он, получается, вообще не будет его подбирать, если в хотбаре есть свободные слоты.
 
3,005
192
592
OhMyOhmit написал(а):
Нужно, чтобы предметы, подобранные на земле, не попадали в хотбар, а только в основной инвентарь.

Так все правильно же. Попадают только в инвентарь, хотбар не трогают.
 
101
0
Doc написал(а):
OhMyOhmit написал(а):
Нужно, чтобы предметы, подобранные на земле, не попадали в хотбар, а только в основной инвентарь.

Так все правильно же. Попадают только в инвентарь, хотбар не трогают.

Код:
ItemStack item = event.getItem().getEntityItem().copy();

        EntityPlayer player = event.getEntityPlayer();
        
       
        if(player.inventory.getFirstEmptyStack() <= 8 && player.inventory.getFirstEmptyStack() >= 0)
            event.setCanceled(true);
        else
            player.inventory.addItemStackToInventory(item);
Если хотбар пуст, то не подбирает ничего, как я и говорил :(
 
3,005
192
592
Так ты всегда отменяешь если в хот бар попадает.
Добавь проверку, если инвентарь переполнен то чекай хот бар.
 
Сверху