package com.fredtargaryen.floocraft.tileentity.specialrenderer;
import com.fredtargaryen.floocraft.model.ModelFlooSign;
import com.fredtargaryen.floocraft.tileentity.TileEntityFireplace;
import com.fredtargaryen.floocraft.DataReference;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class TileEntityFlooSignRenderer extends TileEntitySpecialRenderer
{
private static final ResourceLocation floosigntexloc = new ResourceLocation(DataReference.MODID+":textures/entity/blockfloosign.png");
/** The ModelFlooSign instance used by the TileEntityFlooSignRenderer */
private final ModelFlooSign modelFlooSign = new ModelFlooSign();
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float partialTicks, int destroyStage)
{
TileEntityFireplace sign = (TileEntityFireplace) te;
GL11.glPushMatrix();
float f1 = 0.6666667F;
float f2;
int i = sign.getBlockMetadata();
f2 = 0.0F;
if (i == 2)
{
f2 = 180.0F;
}
if (i == 4)
{
f2 = 90.0F;
}
if (i == 5)
{
f2 = -90.0F;
}
GL11.glTranslatef((float)x + 0.5F, (float)y + 0.75F * f1, (float)z + 0.5F);
GL11.glRotatef(-f2, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.0F, -0.3125F, -0.4375F);
bindTexture(floosigntexloc);
GL11.glPushMatrix();
GL11.glScalef(f1, -f1, -f1);
modelFlooSign.renderSign();
GL11.glPopMatrix();
FontRenderer fontrenderer = this.getFontRenderer();
f2 = 0.016666668F * f1;
GL11.glTranslatef(0.0F, 0.5F * f1, 0.07F * f1);
GL11.glScalef(f2, -f2, f2);
GL11.glNormal3f(0.0F, 0.0F, -1.0F * f2);
GL11.glDepthMask(false);
byte b0 = 0;
for (int j = 0; j < sign.signText.length; ++j)
{
String s = sign.signText[j].getUnformattedText();
if (j == sign.lineBeingEdited)
{
s = "> " + s + " <";
fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, j * 10 - sign.signText.length * 5, b0);
}
else
{
fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, j * 10 - sign.signText.length * 5, b0);
}
}
GL11.glDepthMask(true);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix();
}
}