private static final boolean HAS_NEI = Loader.isModLoaded("NotEnoughItems");
private boolean neiOverlayHidden;
public YourGui(){
if(HAS_NEI){
neiOverlayHidden = isNEIOverlayHidden();
setNEIOverlayHidden(true);
}
}
@Override
public void onGuiClosed(){
super.onGuiClosed();
if(HAS_NEI){
setNEIOverlayHidden(neiOverlayHidden);
}
}
@Method(modid = "NotEnoughItems")
private void setNEIOverlayHidden(boolean value){
NEIClientConfig.getSetting("inventory.hidden").setBooleanValue(value);
}
@Method(modid = "NotEnoughItems")
private boolean isNEIOverlayHidden(){
return NEIClientConfig.isHidden();
}
Потому что хочется сделать по-нормальному как-то. К примеру, через API, правда в открытых источниках я не нашёл никаких упоминаний о скрытии конкретно всего NEI. Залезть в код NEI - хороший план, но должен быть способ проще и лучше. Наверно.Почему бы тебе не залезть в код NEI, найти там код который отвечает за скрытие при нажатии на "O", и "адаптировать" (скопипастить) его туда, где открывается твой гуи?
private static final boolean HAS_NEI = Loader.isModLoaded("NotEnoughItems");
private boolean neiOverlayHidden;
public YourGui(){
if(HAS_NEI){
neiOverlayHidden = isNEIOverlayHidden();
setNEIOverlayHidden(true);
}
}
@Override
public void onGuiClosed(){
super.onGuiClosed();
if(HAS_NEI){
setNEIOverlayHidden(neiOverlayHidden);
}
}
@Method(modid = "NotEnoughItems")
private void setNEIOverlayHidden(boolean value){
NEIClientConfig.getSetting("inventory.hidden").setBooleanValue(value);
}
@Method(modid = "NotEnoughItems")
private boolean isNEIOverlayHidden(){
return NEIClientConfig.isHidden();
}