package crazypants.enderio.xp;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.Gui;
import org.lwjgl.opengl.GL11;
import com.enderio.core.client.render.ColorUtil;
import com.enderio.core.client.render.RenderUtil;
import crazypants.enderio.gui.IconEIO;
public class ExperienceBarRenderer {
public static void render(Gui gui, int x, int y, int length, ExperienceContainer xpCont) {
render(gui, x, y, length, xpCont, -1);
}
public static void render(Gui gui, int x, int y, int length, ExperienceContainer xpCont, int required) {
String text = xpCont.getExperienceLevel() + "";
int color = 8453920;
boolean shadow = true;
if(required > 0) {
text += "/" + required;
if(required > xpCont.getExperienceLevel()) {
color = ColorUtil.getRGB(1f, 0, 0.1f);
shadow = false;
}
}
FontRenderer fr = Minecraft.getMinecraft().fontRenderer;
int strX = x + length / 2 - fr.getStringWidth(text) / 2;
fr.drawString(text, strX, y - 11, color, shadow);
RenderUtil.bindTexture(IconEIO.TEXTURE);
GL11.glColor3f(1, 1, 1);
int xpScaled = xpCont.getXpBarScaled(length - 2);
// x, y, u, v, width, height
//start of 'slot'
gui.drawTexturedModalRect(x, y, 0, 91, 1, 5);
gui.drawTexturedModalRect(x + 1, y, 1, 91, length - 2, 5);
gui.drawTexturedModalRect(x + length - 1, y, 125, 91, 1, 5);
RenderUtil.renderQuad2D(x + 1, y + 1, 0, xpScaled, 3, ColorUtil.getRGB(0, 127, 14));
}
}