private void renderOverlay(MatrixStack ms, float partialTicks) {
drawElement(ms, partialTicks);
}
private void bind(ResourceLocation res) {
this.mc.textureManager.bind(res);;
}
private void drawElement(MatrixStack ms, float partialTicks) {
bind(AbstractGui.GUI_ICONS_LOCATION);
RenderSystem.pushMatrix();
RenderSystem.enableBlend();
Drawer.drawRect(20, 20, 10, 10, 29836473);
RenderSystem.popMatrix();
}
Drawer.drawRect():
public static void drawRect(int posX, int posY, int width, int height, int color) {
float f3;
if (color == -1)
return;
if (color <= 16777215 && color >= 0) {
f3 = 1.0F;
} else {
f3 = (color >> 24 & 0xFF) / 255.0F;
}
float f = (color >> 16 & 0xFF) / 255.0F;
float f1 = (color >> 8 & 0xFF) / 255.0F;
float f2 = (color & 0xFF) / 255.0F;
RenderSystem.enableBlend();
RenderSystem.disableTexture();
RenderSystem.blendFuncSeparate(770, 771, 1, 0);
RenderSystem.color4f(f, f1, f2, f3);
RenderSystem.disableDepthTest();
Tessellator tessellator = Tessellator.getInstance();
BufferBuilder vertexbuffer = tessellator.getBuilder();
vertexbuffer.begin(7, DefaultVertexFormats.BLOCK);
vertexbuffer.normal(posX, posY + height, (float) 0.0D).endVertex();
vertexbuffer.normal(posX + width, posY + height, (float) 0.0D).endVertex();
vertexbuffer.normal(posX + width, posY, (float) 0.0D).endVertex();
vertexbuffer.normal(posX, posY, (float) 0.0D).endVertex();
tessellator.end();
RenderSystem.enableTexture();
RenderSystem.disableBlend();
RenderSystem.enableDepthTest();
RenderSystem.color3f(1.0F, 1.0F, 1.0F);
}
there's a lot I don't know how it works, since I'm a bit new to modding, but I've been programming in Java for a while