package eiteam.esteemedinnovation.engineeringtable; import eiteam.esteemedinnovation.api.Constants; import eiteam.esteemedinnovation.api.Engineerable; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import org.apache.commons.lang3.tuple.Pair; import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class GuiEngineeringTable extends GuiContainer { private TileEntityEngineeringTable tileEntity; public GuiEngineeringTable(InventoryPlayer inv, TileEntityEngineeringTable tileEntity) { super(new ContainerEngineeringTable(inv, tileEntity)); this.tileEntity = tileEntity; } @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {} @Override protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); mc.getTextureManager().bindTexture(Constants.ENG_GUI_TEXTURES); int k = (width - xSize) / 2; int l = (height - ySize) / 2; GL11.glEnable(3042); drawTexturedModalRect(k, l, 0, 0, xSize, ySize); if (tileEntity.getStackInSlot(0) != null) { if (tileEntity.getStackInSlot(0).getItem() instanceof Engineerable) { Engineerable item = (Engineerable) tileEntity.getStackInSlot(0).getItem(); item.drawBackground(this, 0, k + 52, l + 8); int i = 0; for (Pair<Integer, Integer> pair : item.engineerCoordinates()) { int x = pair.getLeft(); int y = pair.getRight(); item.drawSlot(this, i, k + x + 52, l + y + 8); i++; } } } } }