Как запретить открывать гуи несколько игрокам?

318
12
Всем привет. У меня есть гуихандлер, тайл, гуи, контейнер.
Я делаю что-то подобное на обменник, и мне надо запретить открывать другому игроку открывать его, пока первый не вышел из него. Как это можно реализовать?
 
Взять эвент у TileEntityChest на количество сколько игрок открыло. У него это нужно, чтобы крашка сундку оставалась открытой. А ты возьми для условия открытия Gui.
 
timaxa007 написал(а):
Взять эвент у TileEntityChest на количество сколько игрок открыло. У него это нужно, чтобы крашка сундку оставалась открытой. А ты возьми для условия открытия Gui.
А где можно посмотреть все эвенты? Или эта проверка находится в самом коде в TileEntityChest ?
 
На счёт эвента я не правельно выразился, во-общем смотри в TileEntityChest, там есть переменная numPlayersUsing, вот связанные с ним всякие методы и условия нужны.
 
timaxa007 написал(а):
На счёт эвента я не правельно выразился, во-общем смотри в TileEntityChest, там есть переменная numPlayersUsing, вот связанные с ним всякие методы и условия нужны.
У меня не работают методы: closeInventory, openInventory
Хотя поидеи должны...
p.s юзаю implements IInventory
 
В GuiContainer'е у сундука тоже надо взять методы открытия и закрытия сундука для твоего GuiContainer'а.
 
Чисто на вскидку.
В контейнере есть метод

Код:
public boolean canInteractWith(EntityPlayer player)
и лист "крафтеров".
Поэтому можно же сделать что-нибудь подобное
Код:
@Override
public boolean canInteractWith(EntityPlayer player)
{
    return player.getDistance(posX + 0.5D, posY + 0.5D, posZ + 0.5D) <= 64.0D &&
             this.crafters.size() < 1;
}
 
Назад
Сверху