Package appeng.block.misc

Examples of appeng.block.misc.BlockQuartzTorch


  }

  @Override
  public boolean renderInWorld(AEBaseBlock block, IBlockAccess world, int x, int y, int z, RenderBlocks renderer)
  {
    BlockQuartzTorch blk = (BlockQuartzTorch) block;

    IOrientable te = ((IOrientableBlock) block).getOrientable( world, x, y, z );

    float Point2 = 6.0f / 16.0f;
    float Point3 = 7.0f / 16.0f;
    float Point13 = 10.0f / 16.0f;
    float Point12 = 9.0f / 16.0f;

    float singlePixel = 1.0f / 16.0f;
    float renderBottom = 5.0f / 16.0f;
    float renderTop = 10.0f / 16.0f;

    float bottom = 7.0f / 16.0f;
    float top = 8.0f / 16.0f;

    float xOff = 0.0f;
    float yOff = 0.0f;
    float zOff = 0.0f;

    renderer.renderAllFaces = true;
    if ( te != null )
    {
      ForgeDirection forward = te.getUp();
      xOff = forward.offsetX * -(4.0f / 16.0f);
      yOff = forward.offsetY * -(4.0f / 16.0f);
      zOff = forward.offsetZ * -(4.0f / 16.0f);
    }

    renderer.setRenderBounds( Point3 + xOff, renderBottom + yOff, Point3 + zOff, Point12 + xOff, renderTop + yOff, Point12 + zOff );
    super.renderInWorld( block, world, x, y, z, renderer );

    int r = (x + y + z) % 2;
    if ( r == 0 )
    {
      renderer.setRenderBounds( Point3 + xOff, renderTop + yOff, Point3 + zOff, Point3 + singlePixel + xOff, renderTop + singlePixel + yOff, Point3 + singlePixel + zOff );
      super.renderInWorld( block, world, x, y, z, renderer );

      renderer.setRenderBounds( Point12 - singlePixel + xOff, renderBottom - singlePixel + yOff, Point12 - singlePixel + zOff, Point12 + xOff, renderBottom + yOff, Point12 + zOff );
      super.renderInWorld( block, world, x, y, z, renderer );
    }
    else
    {
      renderer.setRenderBounds( Point3 + xOff, renderBottom - singlePixel + yOff, Point3 + zOff, Point3 + singlePixel + xOff, renderBottom + yOff, Point3 + singlePixel + zOff );
      super.renderInWorld( block, world, x, y, z, renderer );

      renderer.setRenderBounds( Point12 - singlePixel + xOff, renderTop + yOff, Point12 - singlePixel + zOff, Point12 + xOff, renderTop + singlePixel + yOff, Point12 + zOff );
      super.renderInWorld( block, world, x, y, z, renderer );
    }

    blk.getRendererInstance().setTemporaryRenderIcon( Blocks.hopper.getIcon( 0, 0 ) );

    renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point2 + zOff, Point13 + xOff, top + yOff, Point3 + zOff );
    boolean out = renderer.renderStandardBlock( blk, x, y, z );

    renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point12 + zOff, Point13 + xOff, top + yOff, Point13 + zOff );
    renderer.renderStandardBlock( blk, x, y, z );

    renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point3 + zOff, Point3 + xOff, top + yOff, Point12 + zOff );
    renderer.renderStandardBlock( blk, x, y, z );

    renderer.setRenderBounds( Point12 + xOff, bottom + yOff, Point3 + zOff, Point13 + xOff, top + yOff, Point12 + zOff );
    renderer.renderStandardBlock( blk, x, y, z );

    if ( te != null )
    {
      ForgeDirection forward = te.getUp();
      switch (forward)
      {
      case EAST:
        renderer.setRenderBounds( 0, bottom + yOff, bottom + zOff, Point2 + xOff, top + yOff, top + zOff );
        renderer.renderStandardBlock( blk, x, y, z );
        break;
      case WEST:
        renderer.setRenderBounds( Point13 + xOff, bottom + yOff, bottom + zOff, 1.0, top + yOff, top + zOff );
        renderer.renderStandardBlock( blk, x, y, z );
        break;
      case NORTH:
        renderer.setRenderBounds( bottom + xOff, bottom + yOff, Point13 + zOff, top + xOff, top + yOff, 1.0 );
        renderer.renderStandardBlock( blk, x, y, z );
        break;
      case SOUTH:
        renderer.setRenderBounds( bottom + xOff, bottom + yOff, 0, top + xOff, top + yOff, Point2 + zOff );
        renderer.renderStandardBlock( blk, x, y, z );
        break;
      case UP:
        renderer.setRenderBounds( Point2, 0, Point2, Point3, bottom + yOff, Point3 );
        renderer.renderStandardBlock( blk, x, y, z );
        renderer.setRenderBounds( Point2, 0, Point12, Point3, bottom + yOff, Point13 );
        renderer.renderStandardBlock( blk, x, y, z );
        renderer.setRenderBounds( Point12, 0, Point2, Point13, bottom + yOff, Point3 );
        renderer.renderStandardBlock( blk, x, y, z );
        renderer.setRenderBounds( Point12, 0, Point12, Point13, bottom + yOff, Point13 );
        renderer.renderStandardBlock( blk, x, y, z );
        break;
      case DOWN:
        renderer.setRenderBounds( Point2, top + yOff, Point2, Point3, 1.0, Point3 );
        renderer.renderStandardBlock( blk, x, y, z );
        renderer.setRenderBounds( Point2, top + yOff, Point12, Point3, 1.0, Point13 );
        renderer.renderStandardBlock( blk, x, y, z );
        renderer.setRenderBounds( Point12, top + yOff, Point2, Point13, 1.0, Point3 );
        renderer.renderStandardBlock( blk, x, y, z );
        renderer.setRenderBounds( Point12, top + yOff, Point12, Point13, 1.0, Point13 );
        renderer.renderStandardBlock( blk, x, y, z );
        break;
      default:
      }
    }

    renderer.renderAllFaces = false;
    blk.getRendererInstance().setTemporaryRenderIcon( null );

    return out;
  }
View Full Code Here

TOP

Related Classes of appeng.block.misc.BlockQuartzTorch

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.