public class renderBush extends TileEntitySpecialRenderer {
static ResourceLocation texture = new ResourceLocation(RealCraft.MODID,"textures/model/bush.png");
float pix = 1F/16F;
float texpix = 1F/32F;
public void renderTileEntityAt(TileEntity tileEn, double x, double y,double z, float f)
{
GL11.glTranslated(x, y, z);
GL11.glDisable(GL11.GL_LIGHTING);
this.bindTexture(texture);
drawBushCore(tileEn);
drawBushConnect(ForgeDirection.WEST);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glTranslated(-x, -y, -z);
}
public void drawBushConnect(ForgeDirection dir)
{
GL11.glTranslated(0.5F, 0.5F, 0.5F);
if(dir.equals(ForgeDirection.UP)){
//rotate
}
else if(dir.equals(ForgeDirection.SOUTH)){
GL11.glRotatef(90, 1, 0, 0);
GL11.glTranslatef(0F, 0.118F, 0.12F);
}
else if(dir.equals(ForgeDirection.DOWN)){
GL11.glRotatef(180, 1, 0, 0);
GL11.glTranslatef(0F, 0.25F, 0F);
}
else if(dir.equals(ForgeDirection.WEST)){
GL11.glRotatef(270, 0, 0, -1);
GL11.glTranslatef(0F, 0.118F, -0.12F);
}
else if(dir.equals(ForgeDirection.NORTH)){
GL11.glRotatef(-90, 1, 0, 0);
GL11.glTranslatef(0F, 0.118F, -0.12F);
}
GL11.glTranslated(-0.5F, -0.5F, -0.5F);
Tessellator tessellator = Tessellator.instance;
tessellator.startDrawingQuads();
{
tessellator.addVertexWithUV(1-5*pix/2, 23*pix/2, 1-5*pix/2, 24*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-3.5*pix/2, 1-5*pix/2, 24*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-3.5*pix/2, 1-5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 23*pix/2, 1-5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 23*pix/2, 5*pix/2, 24*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-3.5*pix/2, 5*pix/2, 24*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-3.5*pix/2, 5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 23*pix/2, 5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 23*pix/2, 1-5*pix/2, 24*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-3.5*pix/2, 1-5*pix/2, 24*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-3.5*pix/2, 5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 23*pix/2, 5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 23*pix/2, 5*pix/2, 24*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-3.5*pix/2, 5*pix/2, 24*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-3.4*pix/2, 1-5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 23*pix/2, 1-5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 23*pix/2, 1-5*pix/2, 32*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 23*pix/2, 1-5*pix/2, 32*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 23*pix/2, 5*pix/2, 24*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2,23*pix/2, 5*pix/2, 24*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-3.5*pix/2, 1-5*pix/2, 32*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-3.5*pix/2, 1-5*pix/2, 32*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-3.5*pix/2, 5*pix/2, 24*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2,1-3.5*pix/2, 5*pix/2, 24*texpix, 32*texpix);
}
tessellator.draw();
GL11.glTranslated(0.5F, 0.5F, 0.5F);
if(dir.equals(ForgeDirection.EAST)){
//rotate
}
else if(dir.equals(ForgeDirection.SOUTH)){
GL11.glRotatef(-90, 1, 0, 0);
GL11.glTranslatef(0F, 0.118F, -0.12F);
}
else if(dir.equals(ForgeDirection.DOWN)){
GL11.glRotatef(180, 1, 0, 0);
GL11.glTranslatef(0F, 0.25F, 0F);
}
else if(dir.equals(ForgeDirection.WEST)){
GL11.glRotatef(-270, 0, 0, -1);
GL11.glTranslatef(0F, 0.118F, 0.12F);
}
else if(dir.equals(ForgeDirection.NORTH)){
GL11.glRotatef(90, 1, 0, 0);
GL11.glTranslatef(0F, 0.118F, 0.12F);
}
GL11.glTranslated(-0.5F, -0.5F, -0.5F);
}
public void drawBushCore(TileEntity tEn)
{
Tessellator tessellator = Tessellator.instance;
tessellator.startDrawingQuads();
{
tessellator.addVertexWithUV(1-5*pix/2, 1*pix/2, 1-5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-9*pix/2, 1-5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-9*pix/2, 1-5*pix/2, 0*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 1*pix/2, 1-5*pix/2, 0*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1*pix/2, 5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-9*pix/2, 5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-9*pix/2, 1-5*pix/2, 0*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1*pix/2, 1-5*pix/2, 0*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1*pix/2, 1-5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-9*pix/2, 1-5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-9*pix/2, 5*pix/2, 0*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 1*pix/2, 5*pix/2, 0*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1*pix/2, 5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-9*pix/2, 5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-9*pix/2, 5*pix/2, 0*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2,1*pix/2, 5*pix/2, 0*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1*pix/2, 1-5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1*pix/2, 1-5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2, 1*pix/2, 5*pix/2, 0*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2,1*pix/2, 5*pix/2, 0*texpix, 32*texpix);
tessellator.addVertexWithUV(5*pix/2, 1-9*pix/2, 1-5*pix/2, 16*texpix, 32*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-9*pix/2, 1-5*pix/2, 16*texpix, 0*texpix);
tessellator.addVertexWithUV(1-5*pix/2, 1-9*pix/2, 5*pix/2, 0*texpix, 0*texpix);
tessellator.addVertexWithUV(5*pix/2,1-9*pix/2, 5*pix/2, 0*texpix, 32*texpix);
}
tessellator.draw();
}