package mods.eln.wiki; import mods.eln.gui.GuiHelper; import mods.eln.gui.IGuiObject; import mods.eln.misc.UtilsClient; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import java.util.List; public class GuiItemStack extends Gui implements IGuiObject { public GuiItemStack(int x, int y, ItemStack stack, GuiHelper helper) { this.posX = x; this.posY = y; h = 18; w = 18; this.stack = stack; this.helper = helper; } int posX, posY, h, w; ItemStack stack; public GuiHelper helper; static final ResourceLocation slotSkin = new ResourceLocation("textures/gui/container/furnace.png"); @Override public void idraw(int x, int y, float f) { //RenderHelper.disableStandardItemLighting(); try { GL11.glColor3f(1f, 1f, 1f); UtilsClient.bindTexture(slotSkin); drawTexturedModalRect(posX - 1, posY - 1, 55, 16, 73 - 55, 34 - 16); if (stack != null) { // RenderHelper.enableStandardItemLighting(); RenderHelper.enableStandardItemLighting(); RenderHelper.enableGUIStandardItemLighting(); UtilsClient.drawItemStack(stack, posX, posY, null, true); RenderHelper.disableStandardItemLighting(); // GL11.glEnable(GL11.GL_LIGHTING); // GL11.glEnable(GL11.GL_DEPTH_TEST); // RenderHelper.enableStandardItemLighting(); } } catch (Exception e) { // TODO: handle exception } } /* GL11.glDisable(GL12.GL_RESCALE_NORMAL); RenderHelper.disableStandardItemLighting(); GL11.glDisable(GL11.GL_LIGHTING); // GL11.glDisable(GL11.GL_DEPTH_TEST); RenderHelper.enableGUIStandardItemLighting(); short short1 = 240; short short2 = 240; OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)short1 / 1.0F, (float)short2 / 1.0F); GL11.glEnable(GL11.GL_LIGHTING); // RenderHelper.enableStandardItemLighting(); // RenderHelper.disableStandardItemLighting(); // RenderHelper.enableStandardItemLighting(); /* GL11.glDepthFunc(GL11.GL_GREATER); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDepthMask(false); // par2TextureManager.func_110577_a(field_110798_h); this.zLevel -= 50.0F; GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_DST_COLOR); GL11.glColor4f(0.5F, 0.25F, 0.8F, 1.0F); // this.renderGlint(par4 * 431278612 + par5 * 32178161, par4 - 2, par5 - 2, 20, 20); GL11.glDisable(GL11.GL_BLEND); GL11.glDepthMask(true); this.zLevel += 50.0F; GL11.glEnable(GL11.GL_LIGHTING); GL11.glDepthFunc(GL11.GL_LEQUAL); */ //RenderHelper.enableGUIStandardItemLighting(); //RenderHelper.enableStandardItemLighting(); //RenderHelper.disableStandardItemLighting(); // RenderHelper.enableGUIStandardItemLighting(); @Override public void idraw2(int x, int y) { if (stack == null) return; if ((x >= posX && y >= posY && x < posX + w && y < posY + h)) { int px, py; px = posX; py = posY; List list = stack.getTooltip(Minecraft.getMinecraft().thePlayer, false); helper.drawHoveringText(list, x, y, Minecraft.getMinecraft().fontRenderer); } } @Override public boolean ikeyTyped(char key, int code) { return false; } @Override public void imouseClicked(int x, int y, int code) { if (x >= posX && y >= posY && x < posX + w && y < posY + h) { if (stack != null) { UtilsClient.clientOpenGui(new ItemDefault(stack, helper.screen)); } /*if(observer != null){ observer.guiObjectEvent(this); }*/ } } @Override public void imouseMove(int x, int y) { } @Override public void imouseMovedOrUp(int x, int y, int witch) { } @Override public void translate(int x, int y) { this.posX += x; this.posY += y; } @Override public int getYMax() { return posY + h; } }