Java Code Examples for net.minecraft.client.renderer.GlStateManager#color()

The following examples show how to use net.minecraft.client.renderer.GlStateManager#color() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: RenderUtils.java    From Hyperium with GNU Lesser General Public License v3.0 7 votes vote down vote up
public static void drawLine(float x, float y, float x1, float y1, float width, int colour) {
    float red = (float) (colour >> 16 & 0xFF) / 255F;
    float green = (float) (colour >> 8 & 0xFF) / 255F;
    float blue = (float) (colour & 0xFF) / 255F;
    float alpha = (float) (colour >> 24 & 0xFF) / 255F;

    GlStateManager.enableBlend();
    GlStateManager.disableTexture2D();
    GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL11.glEnable(GL11.GL_LINE_SMOOTH);

    GlStateManager.pushMatrix();
    GlStateManager.color(red, green, blue, alpha);
    GL11.glLineWidth(width);
    GL11.glBegin(GL11.GL_LINE_STRIP);
    GL11.glVertex2f(x, y);
    GL11.glVertex2f(x1, y1);
    GL11.glEnd();
    GlStateManager.popMatrix();

    GlStateManager.enableTexture2D();
    GlStateManager.disableBlend();
    GL11.glDisable(GL11.GL_LINE_SMOOTH);
}
 
Example 2
Source File: CraftingPatternSelection.java    From SkyblockAddons with MIT License 6 votes vote down vote up
public void draw() {
    GlStateManager.disableDepth();
    GlStateManager.enableBlend();
    Minecraft.getMinecraft().getTextureManager().bindTexture(CraftingPattern.ICONS);
    GlStateManager.color(1,1,1, 1F);
    for(CraftingPattern craftingPattern : CraftingPattern.values()) {
        int offset = getYOffsetByIndex(craftingPattern.index);
        GlStateManager.color(1,1,1, 1F);
        mc.ingameGUI.drawTexturedModalRect(x, y+ offset, 0, offset, ICON_SIZE, ICON_SIZE);
        if(craftingPattern != SkyblockAddons.getInstance().getPersistentValues().getSelectedCraftingPattern()) {
            GlStateManager.color(1,1,1, .5F);
            mc.ingameGUI.drawTexturedModalRect(x, y+ offset, 33, 0, ICON_SIZE, ICON_SIZE);
        }
    }
    GlStateManager.disableBlend();
    GlStateManager.enableDepth();

    blockIncompleteCheckBox.draw();
}
 
Example 3
Source File: MixinGuiButton.java    From Hyperium with GNU Lesser General Public License v3.0 6 votes vote down vote up
/**
 * @author asbyth
 * @reason Custom Hyperium buttons
 */
@Overwrite
public void drawButton(Minecraft mc, int mouseX, int mouseY) {
    if (prevDeltaTime == 0) prevDeltaTime = System.currentTimeMillis();

    if (visible) {
        mc.getTextureManager().bindTexture(buttonTextures);
        GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
        hovered = mouseX >= xPosition && mouseY >= yPosition && mouseX < xPosition + width && mouseY < yPosition + height;
        double hoverInc = (System.currentTimeMillis() - prevDeltaTime) / 2F;
        hoverFade = hovered ? Math.min(100, hoverFade + hoverInc) : Math.max(0, hoverInc - hoverInc);

        drawRect(xPosition, yPosition, xPosition + width, yPosition + height, new Color(0, 0, 0, (int) (100 - (hoverFade / 2))).getRGB());
        mouseDragged(mc, mouseX, mouseY);

        int textColor = enabled ? 255 : 180;
        drawCenteredString(mc.fontRendererObj, displayString, xPosition + width / 2, yPosition + (height - 8) / 2,
            new Color(textColor, textColor, textColor, 255).getRGB());
        prevDeltaTime = System.currentTimeMillis();
    }
}
 
Example 4
Source File: CheckBox.java    From SkyblockAddons with MIT License 6 votes vote down vote up
public void draw() {
    int scaledX = Math.round(x / scale);
    int scaledY = Math.round(y / scale);

    GlStateManager.pushMatrix();
    GlStateManager.scale(scale, scale, 1);

    int color = value ? ChatFormatting.WHITE.getRGB() : ChatFormatting.GRAY.getRGB();
    SkyblockAddons.getInstance().getUtils().drawTextWithStyle(text, scaledX + Math.round(size * 1.5f / scale), scaledY + (size / 2), color);

    GlStateManager.disableDepth();
    GlStateManager.enableBlend();
    Minecraft.getMinecraft().getTextureManager().bindTexture(CraftingPattern.ICONS);
    GlStateManager.color(1, 1, 1, 1F);

    if (value) {
        mc.ingameGUI.drawTexturedModalRect(scaledX, scaledY, 49, 34, 16, 16);
    } else {
        mc.ingameGUI.drawTexturedModalRect(scaledX, scaledY, 33, 34, 16, 16);
    }

    GlStateManager.enableDepth();
    GlStateManager.popMatrix();
}
 
Example 5
Source File: BloodRenderLayer.java    From Wizardry with GNU Lesser General Public License v3.0 6 votes vote down vote up
@Override
public void doRenderLayer(@Nonnull AbstractClientPlayer entity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) {
	if (Minecraft.getMinecraft().player == null || Minecraft.getMinecraft().world == null) return;

	IManaCapability cap = ManaCapabilityProvider.getCap(entity);
	if (cap != null) {
		EnumBloodType type = cap.getBloodType();
		if (type != null && type != EnumBloodType.NONE) {
			render.bindTexture(EnumBloodType.getResourceLocation(type));
			ClientUtilMethods.glColor(type.color);
			setModelVisibilities(entity);
			GlStateManager.enableBlendProfile(Profile.PLAYER_SKIN);

			GlStateManager.disableLighting();
			ShaderHelper.INSTANCE.useShader(Shaders.rawColor);

			render.getMainModel().render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale);

			GlStateManager.enableLighting();
			ShaderHelper.INSTANCE.releaseShader();

			GlStateManager.disableBlendProfile(Profile.PLAYER_SKIN);
			GlStateManager.color(1.0F, 1.0F, 1.0F);
		}
	}
}
 
Example 6
Source File: PotionNeuropozyne.java    From Cyberware with MIT License 6 votes vote down vote up
@SideOnly(Side.CLIENT)
private void render(int x, int y, float alpha)
{
	Minecraft.getMinecraft().renderEngine.bindTexture(resource);
	Tessellator tessellator = Tessellator.getInstance();
	VertexBuffer buf = tessellator.getBuffer();
	buf.begin(7, DefaultVertexFormats.POSITION_TEX);
	GlStateManager.color(1, 1, 1, alpha);

	int textureX = iconIndex % 8 * 18;
	int textureY = 198 + iconIndex / 8 * 18;

	buf.pos(x, y + 18, 0).tex(textureX * 0.00390625, (textureY + 18) * 0.00390625).endVertex();
	buf.pos(x + 18, y + 18, 0).tex((textureX + 18) * 0.00390625, (textureY + 18) * 0.00390625).endVertex();
	buf.pos(x + 18, y, 0).tex((textureX + 18) * 0.00390625, textureY * 0.00390625).endVertex();
	buf.pos(x, y, 0).tex(textureX * 0.00390625, textureY * 0.00390625).endVertex();

	tessellator.draw();
}
 
Example 7
Source File: RenderUtils.java    From Hyperium with GNU Lesser General Public License v3.0 5 votes vote down vote up
public static void drawArc(float cx, float cy, float r, float startAngle, float angle, int segments, int color) {
    float red = (float) (color >> 16 & 0xFF) / 255F;
    float green = (float) (color >> 8 & 0xFF) / 255F;
    float blue = (float) (color & 0xFF) / 255F;
    float alpha = (float) (color >> 24 & 0xFF) / 255F;

    float theta = angle / (float) (segments - 1);

    double tf = Math.tan(theta);
    float rf = MathHelper.cos(theta);

    float x = r * MathHelper.cos(startAngle);
    float y = r * MathHelper.sin(startAngle);

    GlStateManager.pushMatrix();
    GlStateManager.color(red, green, blue, alpha);
    GL11.glBegin(GL_LINE_STRIP);
    for (int ii = 0; ii < segments; ii++) {
        GL11.glVertex2f(x + cx, y + cy);

        float tx = -y;
        float ty = x;

        x += tx * tf;
        y += ty * tf;

        x *= rf;
        y *= rf;
    }
    GL11.glEnd();
    GlStateManager.popMatrix();
}
 
Example 8
Source File: LayoutManager.java    From NotEnoughItems with MIT License 5 votes vote down vote up
public static void drawIcon(int x, int y, Image image) {
    changeTexture("nei:textures/nei_sprites.png");
    GlStateManager.color(1, 1, 1, 1);
    GlStateManager.enableBlend();
    GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    drawTexturedModalRect(x, y, image.x, image.y, image.width, image.height);
    GlStateManager.disableBlend();
}
 
Example 9
Source File: Utils.java    From SkyblockAddons with MIT License 5 votes vote down vote up
public void bindRGBColor(int color) {
    float r = (float) (color >> 16 & 255) / 255.0F;
    float g = (float) (color >> 8 & 255) / 255.0F;
    float b = (float) (color & 255) / 255.0F;
    float a = (float) (color >> 24 & 255) / 255.0F;

    GlStateManager.color(r, g, b, a);
}
 
Example 10
Source File: ModelSpiritWight.java    From Wizardry with GNU Lesser General Public License v3.0 5 votes vote down vote up
@Override
public void render(@Nonnull Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale) {
	GlStateManager.disableBlend();
	GlStateManager.enableBlend();
	GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
	GlStateManager.color(1.0F, 1.0F, 1.0F, 0.9F);
	GlStateManager.rotate(entityIn.rotationYaw, 0, 1, 0);

	super.render(entityIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale);

	GlStateManager.disableBlend();
}
 
Example 11
Source File: SurfaceHelper.java    From ForgeHax with MIT License 5 votes vote down vote up
public static void drawHead(ResourceLocation skinResource, double x, double y, float scale) {
  GlStateManager.pushMatrix();
  MC.renderEngine.bindTexture(skinResource);
  GlStateManager.color(1.0F, 1.0F, 1.0F, 1.F);
  GlStateManager.scale(scale, scale, scale);
  drawScaledCustomSizeModalRect(
      (x * (1 / scale)), (y * (1 / scale)), 8.0F, 8.0F, 8, 8, 12, 12, 64.0F, 64.0F);
  drawScaledCustomSizeModalRect(
      (x * (1 / scale)), (y * (1 / scale)), 40.0F, 8.0F, 8, 8, 12, 12, 64.0F, 64.0F);
  GlStateManager.popMatrix();
}
 
Example 12
Source File: DodgePacket.java    From Cyberware with MIT License 5 votes vote down vote up
@Override
public void render(int x, int y)
{
	Minecraft.getMinecraft().getTextureManager().bindTexture(HudHandler.HUD_TEXTURE);
	
	GlStateManager.pushMatrix();
	float[] color = CyberwareAPI.getHUDColor();
	GlStateManager.color(color[0], color[1], color[2]);
	ClientUtils.drawTexturedModalRect(x + 1, y + 1, 0, 39, 15, 14);
	GlStateManager.popMatrix();
}
 
Example 13
Source File: GuiItemSorter.java    From NotEnoughItems with MIT License 5 votes vote down vote up
public void drawItem(Rectangle w, SortItem item, int mx, int my, float frame) {
    double y = MathHelper.interpolate(item.ya, item.y, frame);
    GlStateManager.translate(0, y, 0);
    Rectangle b = new Rectangle(w.x, w.y, w.width, 20);
    boolean mouseOver = itemAt(w.x+mx, w.y+my) == item;

    GlStateManager.color(1, 1, 1, 1);
    LayoutManager.drawButtonBackground(b.x, b.y, b.width, b.height, true, mouseOver ? 2 : 1);
    drawStringC(item.e.getLocalisedName(), b.x, b.y, b.width, b.height, mouseOver ? 0xFFFFFFA0 : 0xFFE0E0E0);

    GlStateManager.translate(0, -y, 0);
}
 
Example 14
Source File: GuiComponentSprite.java    From OpenModsLib with MIT License 4 votes vote down vote up
protected void doRender(int offsetX, int offsetY, int mouseX, int mouseY) {
	if (icon == null) return;

	GlStateManager.color(r, g, b);
	drawSprite(icon, offsetX + x, offsetY + y);
}
 
Example 15
Source File: RenderUtil.java    From GregTech with GNU Lesser General Public License v3.0 4 votes vote down vote up
public static void setGlColorFromInt(int colorValue, int opacity) {
    int i = (colorValue & 16711680) >> 16;
    int j = (colorValue & 65280) >> 8;
    int k = (colorValue & 255);
    GlStateManager.color(i / 255.0f, j / 255.0f, k / 255.0f, opacity / 255.0f);
}
 
Example 16
Source File: NotificationCenter.java    From Hyperium with GNU Lesser General Public License v3.0 4 votes vote down vote up
/**
 * Render this notification
 */
void render() {
    if (ticksLeft <= 0) return;
    if (!Settings.SHOW_INGAME_NOTIFICATION_CENTER) return;
    setDefaultFontRenderer();

    ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft());

    // Update percentage -- Called in getX()
    // updatePercentage();
    int x = getX(sr);
    int y = getY(sr);

    int alpha = (int) clamp(percentComplete * 255, 127, 255);

    // Background
    Gui.drawRect(x, y, x + width, y + height, new Color(30, 30, 30, alpha).getRGB());
    GlStateManager.enableBlend();

    // Highlight color
    setHighlightColor(highlightColor); // Anti-NPE
    drawRect(x, y, x + highlightBarWidth, y + height, highlightColor.getRGB() | alpha << 24);
    GlStateManager.enableBlend();

    // Title Text
    fontRenderer.drawString(trimString(String.valueOf(title), width - rightMargins,
        null, true), x + highlightBarWidth + highlightBarMargins, y + topPadding, 0xFFFFFF | alpha << 24);

    // Description text
    if (descriptionColor == null) descriptionColor = new Color(80, 80, 80); // Anti-NPE
    // Don't draw if no lines
    int wrapWidth = getWrapWidth();
    // Trim & split into multiple lines
    List<String> lines = fontRenderer.listFormattedStringToWidth(String.valueOf(description), wrapWidth);
    if (lines.size() > maxDescriptionLines) { // Trim size & last line if overflow
        String nextLine = lines.get(maxDescriptionLines); // The line that would appear after the last one
        lines = lines.subList(0, maxDescriptionLines);
        // Next line is appended to guarantee three ellipsis on the end of the string
        lines.set(lines.size() - 1, trimString(lines.get(lines.size() - 1) + " " + nextLine,
            wrapWidth, null, true));
    }

    // Draw lines
    int currentLine = 0;
    for (String line : lines) {
        fontRenderer.drawString(String.valueOf(line),
            x + highlightBarWidth + highlightBarMargins,
            y + topPadding + fontRenderer.FONT_HEIGHT + lineSpacing + fontRenderer.FONT_HEIGHT * currentLine,
            descriptionColor.getRGB() | alpha << 24);

        if (++currentLine >= maxDescriptionLines) break; // stop if too many lines have gone by
    }

    // Notification Image
    if (img != null) {
        imgScale = (double) (height - topPadding - fontRenderer.FONT_HEIGHT - imgTopMargins) / imgSize;

        if (imgScale * imgSize > (double) width / 4) {
            imgScale = ((double) width / 4) / imgSize; // Limit to 25% of width
        }

        GlStateManager.color(1, 1, 1, 1);
        GlStateManager.scale(imgScale, imgScale, imgScale);
        GlStateManager.bindTexture(img.getGlTextureId());
        GlStateManager.enableTexture2D();
        drawTexturedModalRect(
            (float) ((x + width - rightMargins) / imgScale - imgSize),
            (float) (y / imgScale + (((height + fontRenderer.FONT_HEIGHT) / imgScale) - imgSize) / 2),
            0,
            0,
            imgSize,
            imgSize);
        GlStateManager.scale(1 / imgScale, 1 / imgScale, 1 / imgScale);
    } else {
        imgScale = 0;
    }
}
 
Example 17
Source File: RenderFukumame.java    From TofuCraftReload with MIT License 4 votes vote down vote up
/**
 * Renders the desired {@code T} type Entity.
 */
public void doRender(EntityFukumame entity, double x, double y, double z, float entityYaw, float partialTicks)
{
    this.bindEntityTexture(entity);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    GlStateManager.pushMatrix();
    GlStateManager.disableLighting();
    GlStateManager.translate((float)x, (float)y, (float)z);
    GlStateManager.rotate(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
    GlStateManager.rotate(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
    Tessellator tessellator = Tessellator.getInstance();
    BufferBuilder bufferbuilder = tessellator.getBuffer();

    GlStateManager.enableRescaleNormal();

    GlStateManager.rotate(45.0F, 1.0F, 0.0F, 0.0F);
    GlStateManager.scale(0.05625F, 0.05625F, 0.05625F);
    GlStateManager.translate(-4.0F, 0.0F, 0.0F);

    if (this.renderOutlines)
    {
        GlStateManager.enableColorMaterial();
        GlStateManager.enableOutlineMode(this.getTeamColor(entity));
    }

    GlStateManager.glNormal3f(0.05625F, 0.0F, 0.0F);
    bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
    bufferbuilder.pos(-7.0D, -2.0D, -2.0D).tex(0.0D, 0.15625D).endVertex();
    bufferbuilder.pos(-7.0D, -2.0D, 2.0D).tex(0.15625D, 0.15625D).endVertex();
    bufferbuilder.pos(-7.0D, 2.0D, 2.0D).tex(0.15625D, 0.3125D).endVertex();
    bufferbuilder.pos(-7.0D, 2.0D, -2.0D).tex(0.0D, 0.3125D).endVertex();
    tessellator.draw();
    GlStateManager.glNormal3f(-0.05625F, 0.0F, 0.0F);
    bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
    bufferbuilder.pos(-7.0D, 2.0D, -2.0D).tex(0.0D, 0.15625D).endVertex();
    bufferbuilder.pos(-7.0D, 2.0D, 2.0D).tex(0.15625D, 0.15625D).endVertex();
    bufferbuilder.pos(-7.0D, -2.0D, 2.0D).tex(0.15625D, 0.3125D).endVertex();
    bufferbuilder.pos(-7.0D, -2.0D, -2.0D).tex(0.0D, 0.3125D).endVertex();
    tessellator.draw();

    for (int j = 0; j < 4; ++j)
    {
        GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
        GlStateManager.glNormal3f(0.0F, 0.0F, 0.05625F);
        bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
        bufferbuilder.pos(-8.0D, -2.0D, 0.0D).tex(0.0D, 0.0D).endVertex();
        bufferbuilder.pos(8.0D, -2.0D, 0.0D).tex(0.5D, 0.0D).endVertex();
        bufferbuilder.pos(8.0D, 2.0D, 0.0D).tex(0.5D, 0.15625D).endVertex();
        bufferbuilder.pos(-8.0D, 2.0D, 0.0D).tex(0.0D, 0.15625D).endVertex();
        tessellator.draw();
    }

    if (this.renderOutlines)
    {
        GlStateManager.disableOutlineMode();
        GlStateManager.disableColorMaterial();
    }

    GlStateManager.disableRescaleNormal();
    GlStateManager.enableLighting();
    GlStateManager.popMatrix();
    super.doRender(entity, x, y, z, entityYaw, partialTicks);
}
 
Example 18
Source File: DisplayElementConfig.java    From Hyperium with GNU Lesser General Public License v3.0 4 votes vote down vote up
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
    ScaledResolution current = ResolutionUtil.current();
    mouseLock = mouseLock && Mouse.isButtonDown(0);
    drawRect(0, 0, current.getScaledWidth(), current.getScaledHeight(), new Color(0, 0, 0, 150).getRGB());
    super.drawScreen(mouseX, mouseY, partialTicks);

    ElementRenderer.startDrawing(element);
    element.renderEditView();
    ElementRenderer.endDrawing(element);
    int left = posX(1);
    int top = posY(2);
    int right = posX(2);
    int size = right - left;

    if (element.isRGB()) {
        int start_y = Math.max((int) (current.getScaledHeight_double() * .1) - 20, 5) + 22 * 8 + 25;
        int left1 = current.getScaledWidth() / 2 - 100;
        int right1 = current.getScaledWidth() / 2 + 100;
        Gui.drawRect(left1, start_y, right1, right1 - left1 + 200, element.getColor());
    }

    if (!element.isColorPallet()) return;

    apply(mouseX, mouseY);
    GlStateManager.bindTexture(texture.getGlTextureId());
    GlStateManager.enableTexture2D();
    GL11.glPushMatrix();
    GL11.glTranslatef(left, top, 0);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);//
    GlStateManager.scale(size / 285F, size / 285F, 0);
    drawTexturedModalRect(0, 0, 0, 0, 256, 256);

    if (texture2 != null) {
        GlStateManager.bindTexture(texture2.getGlTextureId());
        GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
        GL11.glTranslatef(256 + 15, 0, 0);
        drawTexturedModalRect(0, 0, 0, 0, 15, 256);
    }

    GlStateManager.scale(285F / size, 285F / size, 0);
    GL11.glPopMatrix();
    if (lastX != 0 && lastY != 0) drawCircle(lastX, lastY);
}
 
Example 19
Source File: SurfaceBuilder.java    From ForgeHax with MIT License 4 votes vote down vote up
public static void clearColor() {
  GlStateManager.color(1.f, 1.f, 1.f, 1.f);
}
 
Example 20
Source File: RenderBeam.java    From TofuCraftReload with MIT License 4 votes vote down vote up
/**
 * Renders the desired {@code T} type Entity.
 */
public void doRender(EntityBeam entity, double x, double y, double z, float entityYaw, float partialTicks) {
    this.bindEntityTexture(entity);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    GlStateManager.pushMatrix();
    GlStateManager.disableLighting();
    GlStateManager.translate((float) x, (float) y, (float) z);
    GlStateManager.rotate(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
    GlStateManager.rotate(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
    Tessellator tessellator = Tessellator.getInstance();
    BufferBuilder bufferbuilder = tessellator.getBuffer();

    GlStateManager.enableRescaleNormal();

    GlStateManager.rotate(45.0F, 1.0F, 0.0F, 0.0F);
    GlStateManager.scale(0.05625F, 0.05625F, 0.05625F);
    GlStateManager.translate(-4.0F, 0.0F, 0.0F);

    if (this.renderOutlines) {
        GlStateManager.enableColorMaterial();
        GlStateManager.enableOutlineMode(this.getTeamColor(entity));
    }
    GlStateManager.enableBlend();
    GlStateManager.disableAlpha();
    GlStateManager.blendFunc(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE);
    GlStateManager.depthMask(true);

    GlStateManager.glNormal3f(0.05625F, 0.0F, 0.0F);
    bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
    bufferbuilder.pos(-7.0D, -2.0D, -2.0D).tex(0.0D, 0.15625D).endVertex();
    bufferbuilder.pos(-7.0D, -2.0D, 2.0D).tex(0.15625D, 0.15625D).endVertex();
    bufferbuilder.pos(-7.0D, 2.0D, 2.0D).tex(0.15625D, 0.3125D).endVertex();
    bufferbuilder.pos(-7.0D, 2.0D, -2.0D).tex(0.0D, 0.3125D).endVertex();
    tessellator.draw();
    GlStateManager.glNormal3f(-0.05625F, 0.0F, 0.0F);
    bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
    bufferbuilder.pos(-7.0D, 2.0D, -2.0D).tex(0.0D, 0.15625D).endVertex();
    bufferbuilder.pos(-7.0D, 2.0D, 2.0D).tex(0.15625D, 0.15625D).endVertex();
    bufferbuilder.pos(-7.0D, -2.0D, 2.0D).tex(0.15625D, 0.3125D).endVertex();
    bufferbuilder.pos(-7.0D, -2.0D, -2.0D).tex(0.0D, 0.3125D).endVertex();
    tessellator.draw();

    for (int j = 0; j < 4; ++j) {
        GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
        GlStateManager.glNormal3f(0.0F, 0.0F, 0.05625F);
        bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
        bufferbuilder.pos(-8.0D, -2.0D, 0.0D).tex(0.0D, 0.0D).endVertex();
        bufferbuilder.pos(8.0D, -2.0D, 0.0D).tex(0.5D, 0.0D).endVertex();
        bufferbuilder.pos(8.0D, 2.0D, 0.0D).tex(0.5D, 0.15625D).endVertex();
        bufferbuilder.pos(-8.0D, 2.0D, 0.0D).tex(0.0D, 0.15625D).endVertex();
        tessellator.draw();
    }

    if (this.renderOutlines) {
        GlStateManager.disableOutlineMode();
        GlStateManager.disableColorMaterial();
    }
    GlStateManager.disableBlend();
    GlStateManager.enableAlpha();
    GlStateManager.disableRescaleNormal();
    GlStateManager.enableLighting();
    GlStateManager.popMatrix();
    super.doRender(entity, x, y, z, entityYaw, partialTicks);
}