package chbachman.armour.gui.element;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
import cofh.lib.gui.GuiBase;
import cofh.lib.gui.element.ElementBase;
import cofh.lib.util.helpers.StringHelper;
public class ElementItem extends ElementBase {
protected static RenderItem itemRender = new RenderItem();
ItemStack toDraw;
String unlocalizedName;
public ElementItem(GuiBase gui, int posX, int posY) {
super(gui, posX, posY, 16, 16);
}
public ElementItem setItem(Item item) {
return setItem(new ItemStack(item));
}
public ElementItem setItem(Block block) {
return setItem(new ItemStack(block));
}
public ElementItem setItem(ItemStack item) {
toDraw = item;
unlocalizedName = item.getUnlocalizedName();
return this;
}
@Override
public void drawBackground(int mouseX, int mouseY, float gameTicks) {
this.drawItemStack(toDraw, this.posX, this.posY, null);
}
@Override
public void drawForeground(int mouseX, int mouseY) {
}
@Override
public void addTooltip(List<String> list) {
super.addTooltip(list);
list.add(StringHelper.localize(unlocalizedName + ".name"));
}
private void drawItemStack(ItemStack stack, int x, int y, String p_146982_4_) {
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, 0.0F, 32.0F);
itemRender.zLevel = 200.0F;
FontRenderer font = null;
if (stack != null) {
font = stack.getItem().getFontRenderer(stack);
}
if (font == null) {
font = this.gui.getFontRenderer();
}
itemRender.renderItemAndEffectIntoGUI(font, this.gui.mc.getTextureManager(), stack, x, y);
itemRender.zLevel = 0.0F;
GL11.glPopMatrix();
GL11.glPopAttrib();
}
}