package com.carpentersblocks.renderer.entity; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.entity.Entity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import com.carpentersblocks.entity.item.EntityCarpentersTile; import com.carpentersblocks.renderer.helper.LightingHelper; import com.carpentersblocks.renderer.helper.RenderHelper; import com.carpentersblocks.util.handler.DyeHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class RenderCarpentersTile extends Render { /** * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1, * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. */ @Override public void doRender(Entity entity, double x, double y, double z, float par8, float par9) { GL11.glPushMatrix(); GL11.glTranslated(x, y, z); bindTexture(getEntityTexture(entity)); render((EntityCarpentersTile) entity, (int) x, (int) y, (int) z); GL11.glPopMatrix(); } private void render(EntityCarpentersTile entity, int x, int y, int z) { RenderBlocks renderBlocks = RenderBlocks.getInstance(); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); double bounds[] = entity.getBounds(); renderBlocks.setRenderBounds(bounds[0], bounds[1], bounds[2], bounds[3], bounds[4], bounds[5]); float[] dyeColor = LightingHelper.getRGB(DyeHandler.getColor(entity.getDye())); tessellator.setColorOpaque_F(dyeColor[0], dyeColor[1], dyeColor[2]); IIcon icon = entity.getIcon(); RenderHelper.setTextureRotationOverride(entity.getRotation()); tessellator.setNormal(0.0F, -1.0F, 0.0F); RenderHelper.renderFaceYNeg(renderBlocks, 0, 0, 0, icon); tessellator.setNormal(0.0F, 1.0F, 0.0F); RenderHelper.renderFaceYPos(renderBlocks, 0, 0, 0, icon); tessellator.setNormal(0.0F, 0.0F, -1.0F); RenderHelper.renderFaceZNeg(renderBlocks, 0, 0, 0, icon); tessellator.setNormal(0.0F, 0.0F, 1.0F); RenderHelper.renderFaceZPos(renderBlocks, 0, 0, 0, icon); tessellator.setNormal(-1.0F, 0.0F, 0.0F); RenderHelper.renderFaceXNeg(renderBlocks, 0, 0, 0, icon); tessellator.setNormal(1.0F, 0.0F, 0.0F); RenderHelper.renderFaceXPos(renderBlocks, 0, 0, 0, icon); RenderHelper.clearTextureRotationOverride(); tessellator.draw(); } @Override protected ResourceLocation getEntityTexture(Entity var1) { return TextureMap.locationBlocksTexture; } }