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