001    package net.minecraft.src;
002    
003    import cpw.mods.fml.common.Side;
004    import cpw.mods.fml.common.asm.SideOnly;
005    import org.lwjgl.opengl.GL11;
006    
007    @SideOnly(Side.CLIENT)
008    public class GuiChest extends GuiContainer
009    {
010        private IInventory upperChestInventory;
011        private IInventory lowerChestInventory;
012    
013        /**
014         * window height is calculated with this values, the more rows, the heigher
015         */
016        private int inventoryRows = 0;
017    
018        public GuiChest(IInventory par1IInventory, IInventory par2IInventory)
019        {
020            super(new ContainerChest(par1IInventory, par2IInventory));
021            this.upperChestInventory = par1IInventory;
022            this.lowerChestInventory = par2IInventory;
023            this.allowUserInput = false;
024            short var3 = 222;
025            int var4 = var3 - 108;
026            this.inventoryRows = par2IInventory.getSizeInventory() / 9;
027            this.ySize = var4 + this.inventoryRows * 18;
028        }
029    
030        /**
031         * Draw the foreground layer for the GuiContainer (everything in front of the items)
032         */
033        protected void drawGuiContainerForegroundLayer(int par1, int par2)
034        {
035            this.fontRenderer.drawString(StatCollector.translateToLocal(this.lowerChestInventory.getInvName()), 8, 6, 4210752);
036            this.fontRenderer.drawString(StatCollector.translateToLocal(this.upperChestInventory.getInvName()), 8, this.ySize - 96 + 2, 4210752);
037        }
038    
039        /**
040         * Draw the background layer for the GuiContainer (everything behind the items)
041         */
042        protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
043        {
044            int var4 = this.mc.renderEngine.getTexture("/gui/container.png");
045            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
046            this.mc.renderEngine.bindTexture(var4);
047            int var5 = (this.width - this.xSize) / 2;
048            int var6 = (this.height - this.ySize) / 2;
049            this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.inventoryRows * 18 + 17);
050            this.drawTexturedModalRect(var5, var6 + this.inventoryRows * 18 + 17, 0, 126, this.xSize, 96);
051        }
052    }