package nl.lang2619.bagginses.items.bags.gui;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import nl.lang2619.bagginses.helpers.NBTHelper;
import nl.lang2619.bagginses.helpers.Names;
import nl.lang2619.bagginses.inventory.InventoryBag;
import nl.lang2619.bagginses.items.bags.Bag;
import nl.lang2619.bagginses.items.bags.container.BagContainer;
import nl.lang2619.bagginses.references.BagTypes;
import nl.lang2619.bagginses.references.TextureInfo;
import org.lwjgl.opengl.GL11;
/**
* Created by Tim on 8-2-2015.
*/
public class BagGui extends GuiContainer {
private final ItemStack parentItemStack;
private final InventoryBag inventoryBag;
public BagGui(EntityPlayer entityPlayer, InventoryBag inventoryBag) {
super(new BagContainer(entityPlayer, inventoryBag));
this.parentItemStack = inventoryBag.parentItemStack;
this.inventoryBag = inventoryBag;
if (((Bag) parentItemStack.getItem()).getType() == BagTypes.TIER3) {
this.ySize = 166 + 18;
}
}
@Override
protected void drawGuiContainerBackgroundLayer(float f, int i, int j) {
Bag item = (Bag) this.parentItemStack.getItem();
if (item.getType() == BagTypes.TIER3) {
mc.renderEngine.bindTexture(new ResourceLocation(TextureInfo.GUI_BACKPACK_T3));
} else if (item.getType() == BagTypes.TIER2) {
mc.renderEngine.bindTexture(new ResourceLocation(TextureInfo.GUI_BACKPACK_T2));
} else if (item.getType() == BagTypes.TIER1) {
mc.renderEngine.bindTexture(new ResourceLocation(TextureInfo.GUI_BACKPACK));
} else if (item.getType() == BagTypes.VOID) {
mc.renderEngine.bindTexture(new ResourceLocation(TextureInfo.GUI_BACKPACK_VOID));
}
GL11.glColor4f(1, 1, 1, 1);
int var5 = (width - xSize) / 2;
int var6 = (height - ySize) / 2;
drawTexturedModalRect(var5, var6, 0, 0, xSize, ySize);
}
@Override
public void drawGuiContainerForegroundLayer(int i, int j) {
String s = "";
Bag item = (Bag) this.parentItemStack.getItem();
if (item.getType() == BagTypes.TIER3) {
s = "Tier 3 Bag";
} else if (item.getType() == BagTypes.TIER2) {
s = "Tier 2 Bag";
} else if (item.getType() == BagTypes.TIER1) {
s = "Tier 1 Bag";
} else if (item.getType() == BagTypes.VOID) {
s = "Void Bag";
}
this.fontRendererObj.drawString(s, this.xSize / 2 - this.fontRendererObj.getStringWidth(s) / 2, 6, 4210752);
}
@Override
public void onGuiClosed()
{
super.onGuiClosed();
if (mc.thePlayer != null)
{
for (ItemStack itemStack : mc.thePlayer.inventory.mainInventory)
{
if (itemStack != null)
{
if (NBTHelper.hasTag(itemStack, Names.NBT.BAG_OPEN))
{
NBTHelper.removeTag(itemStack, Names.NBT.BAG_OPEN);
}
}
}
}
}
}