@Override
public void render(int mouseX, int mouseY, float partialTicks){
lastMouseX = mouseX;
lastMouseY = mouseY;
float zLevel = 0;
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
int renderBaseX = (int)(oldBaseX + (baseX - oldBaseX) * partialTicks);
int renderAffectedY = (int)(oldAffectedY + (affectedY - oldAffectedY) * partialTicks);
int renderWidth = (int)(oldWidth + (width - oldWidth) * partialTicks);
int renderHeight = (int)(oldHeight + (height - oldHeight) * partialTicks);
if(leftSided) renderWidth *= -1;
Gui.drawRect(renderBaseX, renderAffectedY /* + 1 */, renderBaseX + renderWidth /*- 1*/, renderAffectedY + renderHeight, backGroundColor);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glLineWidth(3.0F);
GL11.glColor4d(0, 0, 0, 1);
Tessellator tess = Tessellator.instance;
tess.startDrawing(GL11.GL_LINE_LOOP);
tess.addVertex(renderBaseX, renderAffectedY, zLevel);
tess.addVertex(renderBaseX + renderWidth, renderAffectedY, zLevel);
tess.addVertex(renderBaseX + renderWidth, renderAffectedY + renderHeight, zLevel);
tess.addVertex(renderBaseX, renderAffectedY + renderHeight, zLevel);
tess.draw();
GL11.glEnable(GL11.GL_TEXTURE_2D);
if(leftSided) renderWidth *= -1;
// if done expanding, draw the information
if(doneExpanding) {
GL11.glPushMatrix();
GL11.glTranslated(renderBaseX + (leftSided ? -renderWidth : 16), renderAffectedY, 0);
GL11.glScaled(textSize, textSize, textSize);
GL11.glTranslated(-renderBaseX - (leftSided ? -renderWidth : 16), -renderAffectedY, 0);
fontRenderer.drawStringWithShadow(title, renderBaseX + (leftSided ? -renderWidth + 2 : 18), renderAffectedY + 2, 0xFFFF00);
for(int i = curScroll; i < textList.size() && i < curScroll + MAX_LINES; i++) {
if(textList.get(i).contains("\u00a70") || textList.get(i).contains(EnumChatFormatting.DARK_RED.toString())) {
fontRenderer.drawString(textList.get(i), renderBaseX + (leftSided ? -renderWidth + 2 : 18), renderAffectedY + (i - curScroll) * 10 + 12, 0xFFFFFF);
} else {
fontRenderer.drawStringWithShadow(textList.get(i), renderBaseX + (leftSided ? -renderWidth + 2 : 18), renderAffectedY + (i - curScroll) * 10 + 12, 0xFFFFFF);
}
}
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(renderBaseX, renderAffectedY, 0);
for(IGuiWidget widget : widgets)
widget.render(mouseX - renderBaseX, mouseY - renderAffectedY, partialTicks);
GL11.glPopMatrix();
}
if(renderHeight > 16 && renderWidth > 16) {
GL11.glColor4d(1, 1, 1, 1);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
if(iStack == null) {
if(texture.contains(Textures.GUI_LOCATION)) {
GuiPneumaticContainerBase.drawTexture(texture, renderBaseX - (leftSided ? 16 : 0), renderAffectedY);
} else {
fontRenderer.drawString(texture, renderBaseX - (leftSided ? 16 : 0), renderAffectedY, 0xFFFFFFFF);
}
} else if(gui != null || !(iStack.getItem() instanceof ItemBlock)) {
if(itemRenderer == null) itemRenderer = new RenderItem();
GL11.glPushMatrix();
GL11.glTranslated(0, 0, -50);