Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RenderPipe implements ISimpleBlockRenderingHandler
- {
- @Override
- public void renderInventoryBlock(Block gBlock, int metadata, int modelId, RenderBlocks renderer)
- {
- Block block = ((BlockPipe)gBlock).blockTexture != null ? ((BlockPipe)gBlock).blockTexture : gBlock;
- renderer.setRenderBounds(0.0F, 0.3F, 0.3F, 1, 0.7F, 0.7F);
- GL11.glPushMatrix();
- IIcon icon = block.getIcon(0, 0);
- Tessellator tessellator = Tessellator.instance;
- if(icon == null){icon = Blocks.gold_block.getIcon(0, 0);}
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, icon);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, icon);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, icon);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, icon);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, icon);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, icon);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- GL11.glPopMatrix();
- }
- @Override
- public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block gBlock, int modelId, RenderBlocks renderer)
- {
- ClientProxy.reRenderBlocks.blockAccess = renderer.blockAccess;
- Block block = ((BlockPipe)gBlock).blockTexture != null ? ((BlockPipe)gBlock).blockTexture : gBlock;
- Tessellator tess = Tessellator.instance;
- boolean[] connects = ((BlockPipe)gBlock).getConnects(world, x, y, z);
- float minX = 0.3F;
- float maxX = 0.7F;
- float minY = 0.3F;
- float maxY = 0.7F;
- float minZ = 0.3F;
- float maxZ = 0.7F;
- boolean connX = false;
- boolean connY = false;
- boolean connZ = false;
- ClientProxy.reRenderBlocks.renderAllFaces = true;
- if(connects[0])
- {
- maxX = 1.0F; connX = true;
- }
- if(connects[1])
- {
- minX = 0.0F; connX = true;
- }
- if(connects[2])
- {
- maxY = 1.0F; connY = true;
- }
- if(connects[3])
- {
- minY = 0.0F; connY = true;
- }
- if(connects[4])
- {
- maxZ = 1.0F; connZ = true;
- }
- if(connects[5])
- {
- minZ = 0.0F; connZ = true;
- }
- if((connX == true && connY == true) ||
- (connY == true && connZ == true) ||
- (connX == true && connZ == true))
- {
- renderer.setRenderBounds(0.3F, 0.3F, 0.3F, 0.7F, 0.7F, 0.7F);
- RenderHelper.renderStandardBlock(renderer, block, x, y, z);
- if(connects[0])
- {
- renderer.setRenderBounds(0.7F, 0.3F, 0.3F, 1, 0.7F, 0.7F);
- RenderHelper.renderStandardBlock(renderer, block, x, y, z);
- }
- if(connects[1])
- {
- renderer.setRenderBounds(0F, 0.3F, 0.3F, 0.3F, 0.7F, 0.7F);
- RenderHelper.renderStandardBlock(renderer, block, x, y, z);
- }
- if(connects[4])
- {
- renderer.setRenderBounds(0.3F, 0.3F, 0.7F, 0.7F, 0.7F, 1F);
- RenderHelper.renderStandardBlock(renderer, block, x, y, z);
- }
- if(connects[5])
- {
- renderer.setRenderBounds(0.3F, 0.3F, 0F, 0.7F, 0.7F, 0.3F);
- RenderHelper.renderStandardBlock(renderer, block, x, y, z);
- }
- if(connects[2])
- {
- renderer.setRenderBounds(0.3F, 0.7F, 0.3F, 0.7F, 1F, 0.7F);
- RenderHelper.renderStandardBlock(renderer, block, x, y, z);
- }
- if(connects[3])
- {
- renderer.setRenderBounds(0.3F, 0F, 0.3F, 0.7F, 0.3F, 0.7F);
- RenderHelper.renderStandardBlock(renderer, block, x, y, z);
- }
- }
- else
- {
- renderer.setRenderBounds(minX, minY, minZ, maxX, maxY, maxZ);
- RenderHelper.renderStandardBlock(renderer, block, x, y, z);
- }
- ClientProxy.reRenderBlocks.renderAllFaces = false;
- return true;
- }
- @Override
- public boolean shouldRender3DInInventory(int modelId)
- {
- return true;
- }
- @Override
- public int getRenderId()
- {
- return ClientProxy.renderBlockPipeID;
- }
- }
Add Comment
Please, Sign In to add comment