package mezz.jei.api.gui;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.awt.Rectangle;
import java.util.List;
import net.minecraft.client.gui.inventory.GuiContainer;
/**
* Allows mods to change how JEI is displayed next to their gui.
*/
public interface IAdvancedGuiHandler<T extends GuiContainer> {
/**
* @return the class that this IAdvancedGuiHandler handles.
*/
@Nonnull
Class<T> getGuiContainerClass();
/**
* Give JEI information about extra space that the GuiContainer takes up.
* Used for moving JEI out of the way of extra things like gui tabs.
*
* @return the space that the gui takes up besides the normal rectangle defined by GuiContainer.
*/
@Nullable
List<Rectangle> getGuiExtraAreas(T guiContainer);
}