[1.7.10][GUI] Запрет "положить в слот"

svk

1,185
3
Вообщем, есть код, который отвечает за то, что-бы положить в слот предмет. Мне надо, что-бы предмет нельзя было положить в 9 слот, но если сделать так, как на коде, то предет не положится в слот, но и не останется "в курсоре", а просто исчезнет...
Код:
    @Override
    public void setInventorySlotContents(int i, ItemStack itemstack) 
    {
        if(this.slots[i] != this.slots[9])
        {
            this.slots[i] = itemstack;
            
            if(itemstack != null && itemstack.stackSize > this.getInventoryStackLimit())
            {
                itemstack.stackSize = this.getInventoryStackLimit();
            }
        }
    }
[merge_posts_bbcode]Добавлено: 13.02.2015 18:19:47[/merge_posts_bbcode]

Хотел сделать этот слот, крафт слотом, но натыкался на постоянные краши. Помогите.

[merge_posts_bbcode]Добавлено: 13.02.2015 18:31:46[/merge_posts_bbcode]

Странно ещё то, что я теперь не могу положить и во все другие слоты 0_0

[merge_posts_bbcode]Добавлено: 13.02.2015 18:39:16[/merge_posts_bbcode]

Странно, он все слоты девятыми считает...​
 
Agravaine написал(а):
В контейнере делай.
Как? И смысл?
[merge_posts_bbcode]Добавлено: 13.02.2015 18:44:06[/merge_posts_bbcode]

А, slots это итем стак, а не сам слот. А как сам слот проверить?
 
Код:
     addSlotToContainer(new Slot(table, 9, 116, 33) {
            public boolean isItemValid(ItemStack stack) {
                if (stack == null) return false;
                return stack.getItem().isValidArmor(stack, 0, player);
            }
    });
 
Dragon2488 написал(а):
Код:
     addSlotToContainer(new Slot(table, 9, 116, 33) {
            public boolean isItemValid(ItemStack stack) {
                if (stack == null) return false;
                return stack.getItem().isValidArmor(stack, 0, player);
            }
    });
Решение нашел - в контейнере:
Код:
    this.addSlotToContainer(new Slot(table, 9, 116, 33)
    {
            public boolean isItemValid(ItemStack itemStack)
            {
                return false;
            }
    });
 
Ну разреши класть,только нулл и итемстак.getItem inctanceof КлассИтема
 
Dovakin написал(а):
Ну разреши класть,только нулл и итемстак.getItem inctanceof КлассИтема
Я понял, так мне и надо было сделать так, что-бы ничего нельзя было туда положить, ведь это "крафт слот"
 
Я так понял, мне тут не подскажут... Но всё же... Никак не могу сделать, что-бы в верстак, из труб BuildCraft, запихивало итемы. Может кто поможет?
 
Назад
Сверху