Сделать и удалить

Версия Minecraft
1.7.10
344
1
47
В общем, недавно задался маленьким вопросом, а именно как переловить получение предмета в инвентарь(конкретного предмета) сделать что либо и удалить данный предмет.

Тобишь по сути он должен попадать в инвентарь, но тут-же удаляться, заведомо выполняя что либо, к примеру команду или там.. Без разницы.
 
Решение
;)
Код:
    @SubscribeEvent
    public void onPickUp(EntityItemPickupEvent event) {
        Item item = event.item.getEntityItem().getItem();
        EntityPlayer player = event.entityPlayer;
        if(item == Items.apple)
        {


            //Делаешь, что хочешь
    
            
            //Удаление
            for(int i = 0 ; i < player.inventory.mainInventory.length ; i++) {
                if (player.inventory.getStackInSlot(i) != null) {
                    if(player.inventory.getStackInSlot(i).getItem() == Items.apple)
                    {
                        player.inventory.setInventorySlotContents(i, null);
                    }
                }
            }
        }
    }
344
1
47
24
2
13
;)
Код:
    @SubscribeEvent
    public void onPickUp(EntityItemPickupEvent event) {
        Item item = event.item.getEntityItem().getItem();
        EntityPlayer player = event.entityPlayer;
        if(item == Items.apple)
        {


            //Делаешь, что хочешь
    
            
            //Удаление
            for(int i = 0 ; i < player.inventory.mainInventory.length ; i++) {
                if (player.inventory.getStackInSlot(i) != null) {
                    if(player.inventory.getStackInSlot(i).getItem() == Items.apple)
                    {
                        player.inventory.setInventorySlotContents(i, null);
                    }
                }
            }
        }
    }
 
344
1
47
;)
Код:
    @SubscribeEvent
    public void onPickUp(EntityItemPickupEvent event) {
        Item item = event.item.getEntityItem().getItem();
        EntityPlayer player = event.entityPlayer;
        if(item == Items.apple)
        {


            //Делаешь, что хочешь
   
           
            //Удаление
            for(int i = 0 ; i < player.inventory.mainInventory.length ; i++) {
                if (player.inventory.getStackInSlot(i) != null) {
                    if(player.inventory.getStackInSlot(i).getItem() == Items.apple)
                    {
                        player.inventory.setInventorySlotContents(i, null);
                    }
                }
            }
        }
    }


Так то лучше)
 
3,005
192
592
А если у игрока уже был тот предмет - то он удалит тот, что был, а не тот, что поднял.
 
344
1
47
А если у игрока уже был тот предмет - то он удалит тот, что был, а не тот, что поднял.

Тут другое, он не может быть вообще у игрока, чисто как проводник от кастом нпс к валюте) Я там просто добавляю валюту и удаляю предмет.

Ну и в твоем случае интересно, даже покумекаю позже, кину)
 
344
1
47
Сверху