Отследить не ванильный инвентарь

Версия Minecraft
1.7.10
118
0
Здравствуйте!
Работаю с галактикрафтом
У меня проблема: мне нужно отследить их инвентарь и если там лежит энный предмет, выполнять открывание GUI у жителя (своего)
Пробовал это в методе interact:

Код:
public boolean interact(EntityPlayer p_70085_1_)
    {
        ItemStack itemstack = p_70085_1_.inventory.getCurrentItem();
        boolean flag = itemstack != null && itemstack.getItem() == Items.spawn_egg;
        
         GCPlayerStats GCPlayer = this.GCplayer;
        if (!flag && this.isEntityAlive() && !this.isTrading() && !this.isChild() && !p_70085_1_.isSneaking())
        {
         
            if (!this.worldObj.isRemote)
            {
             if(GCPlayer.extendedInventory.inventoryStacks[5] !=null && GCPlayer.extendedInventory.inventoryStacks[5].getItem() == GCItems.basicItem && GCPlayer.extendedInventory.inventoryStacks[5].getItemDamage() == 19)
             {
                this.setCustomer(p_70085_1_);
                p_70085_1_.displayGUIMerchant(this, this.getCustomNameTag()); 
                }
            }
        
            return true;
        }
        else
        {
            return super.interact(p_70085_1_);
        }
     
    }

Не вышло.. гуи открывается даже если этого предмета нет в слоте
Подскажите в чем проблема?
P.S с ванильным инвентарем все работает а с инвентарем GC нет
 
Dahaka написал(а):
А ты не думал, что у тебя вызывается супер метод и там вход в Gui?


Но это чисто предположение


Юзай дебаг и посмотри, какое условие "проскакивает"




в том то и дело что при таком коде только замененным на проверку обычного инвентаря все работает
Т.Е.
Это
Код:
if(GCPlayer.extendedInventory.inventoryStacks[5] !=null && GCPlayer.extendedInventory.inventoryStacks[5].getItem() == GCItems.basicItem && GCPlayer.extendedInventory.inventoryStacks[5].getItemDamage() == 19)
Замененное на это
Код:
if(p_70085_1_.inventory.mainInventory[5] !=null && p_70085_1_.inventory.mainInventory[5].getItem() == Items.Apple && p_70085_1_.inventory.mainInventory[5].getItemDamage() == 0)

Прекрасно работает
 
P_bI_L_E_S_O_S написал(а):
Я залез в их классы и посмотрел что 5 стак это частотный модуль (а он мне и нужен) (хочу сделать типо переводчика, если у тебя есть частотный модуль, ты можешь торговать с жителем, а если нет, то не можешь)
Прикольно
 
Назад
Сверху