[1.7.10]Ограничение типа предмета в слоте

47
0
Доброго времени суток. Я в моде после проблем с тайлом (кто знает тот поймет) продвинулся и не плохо. Но вот беда. Мне нужно ограничение типа предмета в слоте. делаю через
Код:
public boolean isItemValidForSlot(int slot, ItemStack ist){}
но даже просто возвращая там false, у меня ничего не работает (т.е. вещи кладутся и абсолютно все).
Нужна ваша помощь (очень). Говорите какой код вам скинуть.
 
Делай всё это в контейнере тайла и сделай специальный слот, который будет принимать нужные предметы.
Примеры попробуй поискать в контейнере инвентаря игрока, там сделаны слоты для брони.
 
Метод у тебя должен быть который ставит число макс. стака в слоте.В контейнере
 
Maxous написал(а):
Делай всё это в контейнере тайла и сделай специальный слот, который будет принимать нужные предметы.
Примеры попробуй поискать в контейнере инвентаря игрока, там сделаны слоты для брони.
Делть в классе ContainerMagicalInfuser?
[merge_posts_bbcode]Добавлено: 05.10.2015 21:37:21[/merge_posts_bbcode]

Agravaine написал(а):
Этот метод работает с трубами, воронками и прочими штуками, которые "засовывают" в инвентарь.
Спасибо, учту

[merge_posts_bbcode]Добавлено: 05.10.2015 21:37:42[/merge_posts_bbcode]

XuPuPG написал(а):
Метод у тебя должен быть который ставит число макс. стака в слоте.В контейнере
А вот ту не понял

[merge_posts_bbcode]Добавлено: 05.10.2015 22:02:45[/merge_posts_bbcode]

Господа (а особенно Maxous) большое вам спасибо. Тему можно закрывать, так как решение найдено!
А теперь кратко о решении для будущих поколений:
Надо в классе контейнера данного блока в месте объявления слотов писать не просто
Код:
this.addSlotToContainer(new Slot(tileentity, 4, 134, 32));
а вот такое
Код:
this.addSlotToContainer(new Slot(tileentity, 3, 62, 32)
        {
            
            public boolean isItemValid(ItemStack p_75214_1_)
            {
                if (p_75214_1_ == null) return false;
                return p_75214_1_.getItem().isItemTool(p_75214_1_);
            }
            
        });
Таким же образом можно ограничить для конкретного слота максимальный размер стака и некоторые другие вещи.
 
Назад
Сверху