package net.tropicraft.client.renderer.block; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.tropicraft.info.TCRenderIDs; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; public class TikiTorchRenderHandler implements ISimpleBlockRenderingHandler { public TikiTorchRenderHandler() { } @Override public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { int metadata = world.getBlockMetadata(x, y, z); Tessellator tessellator = Tessellator.instance; IIcon icon = block.getIcon(0, metadata); tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); tessellator.setColorOpaque_F(1.0F, 1.0F, 1.0F); float pixX1 = icon.getMinU(); float pixX2 = icon.getMaxU(); float pixY1 = icon.getMinV(); float pixY2 = icon.getMaxV(); double topX1 = (double) pixX1 + 0.02734375D; double topY1 = (double) pixY1 + 0.0234375D; double topX2 = (double) pixX1 + 0.03515625D; double topY2 = (double) pixY1 + 0.03125D; double centerX = x + 0.5D; double centerZ = z + 0.5D; double width = 0.0625D; double height = metadata == 0 ? 0.625D : 1.0D; tessellator.addVertexWithUV(centerX - width, y + height, centerZ - width, topX1, topY1); tessellator.addVertexWithUV(centerX - width, y + height, centerZ + width, topX1, topY2); tessellator.addVertexWithUV(centerX + width, y + height, centerZ + width, topX2, topY2); tessellator.addVertexWithUV(centerX + width, y + height, centerZ - width, topX2, topY1); tessellator.addVertexWithUV(centerX - width, y + 1.0D, z, (double) pixX1, (double) pixY1); tessellator.addVertexWithUV(centerX - width, y, z, (double) pixX1, (double) pixY2); tessellator.addVertexWithUV(centerX - width, y, z + 1.0D, (double) pixX2, (double) pixY2); tessellator.addVertexWithUV(centerX - width, y + 1.0D, z + 1.0D, (double) pixX2, (double) pixY1); tessellator.addVertexWithUV(centerX + width, y + 1.0D, z + 1.0D, (double) pixX1, (double) pixY1); tessellator.addVertexWithUV(centerX + width, y, z + 1.0D, (double) pixX1, (double) pixY2); tessellator.addVertexWithUV(centerX + width, y, z, (double) pixX2, (double) pixY2); tessellator.addVertexWithUV(centerX + width, y + 1.0D, z, (double) pixX2, (double) pixY1); tessellator.addVertexWithUV(x, y + 1.0D, centerZ + width, (double) pixX1, (double) pixY1); tessellator.addVertexWithUV(x, y, centerZ + width, (double) pixX1, (double) pixY2); tessellator.addVertexWithUV(x + 1.0D, y, centerZ + width, (double) pixX2, (double) pixY2); tessellator.addVertexWithUV(x + 1.0D, y + 1.0D, centerZ + width, (double) pixX2, (double) pixY1); tessellator.addVertexWithUV(x + 1.0D, y + 1.0D, centerZ - width, (double) pixX1, (double) pixY1); tessellator.addVertexWithUV(x + 1.0D, y, centerZ - width, (double) pixX1, (double) pixY2); tessellator.addVertexWithUV(x, y, centerZ - width, (double) pixX2, (double) pixY2); tessellator.addVertexWithUV(x, y + 1.0D, centerZ - width, (double) pixX2, (double) pixY1); return true; } @Override public int getRenderId() { return TCRenderIDs.tikiTorch; } @Override public boolean shouldRender3DInInventory(int modelId) { return false; } }