Package appeng.api.networking

Examples of appeng.api.networking.IGridHost


  @SideOnly(Side.CLIENT)
  public void renderSmartConnection(int x, int y, int z, IPartRenderHelper rh, RenderBlocks renderer, int channels, ForgeDirection of)
  {
    TileEntity te = this.tile.getWorldObj().getTileEntity( x + of.offsetX, y + of.offsetY, z + of.offsetZ );
    IPartHost partHost = te instanceof IPartHost ? (IPartHost) te : null;
    IGridHost ghh = te instanceof IGridHost ? (IGridHost) te : null;
    boolean isGlass = false;
    AEColor myColor = getCableColor();

    rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of ) ) );

    if ( ghh != null && partHost != null && ghh.getCableConnectionType( of.getOpposite() ) == AECableType.GLASS && partHost.getPart( of.getOpposite() ) == null
        && partHost.getColor() != AEColor.Transparent )
    {
      isGlass = true;
      rh.setTexture( getGlassTexture( myColor = partHost.getColor() ) );
    }
    else if ( partHost == null && ghh != null && ghh.getCableConnectionType( of.getOpposite() ) != AECableType.GLASS )
    {
      rh.setTexture( getSmartTexture( myColor ) );
      switch (of)
      {
      case DOWN:
        rh.setBounds( 5, 0, 5, 11, 4, 11 );
        break;
      case EAST:
        rh.setBounds( 12, 5, 5, 16, 11, 11 );
        break;
      case NORTH:
        rh.setBounds( 5, 5, 0, 11, 11, 4 );
        break;
      case SOUTH:
        rh.setBounds( 5, 5, 12, 11, 11, 16 );
        break;
      case UP:
        rh.setBounds( 5, 12, 5, 11, 16, 11 );
        break;
      case WEST:
        rh.setBounds( 0, 5, 5, 4, 11, 11 );
        break;
      default:
        return;
      }
      rh.renderBlock( x, y, z, renderer );

      setSmartConnectionRotations( of, renderer );
      IIcon firstIcon = new TaughtIcon( getChannelTex( channels, false ).getIcon(), -0.2f );
      IIcon secondIcon = new TaughtIcon( getChannelTex( channels, true ).getIcon(), -0.2f );

      if ( of == ForgeDirection.EAST || of == ForgeDirection.WEST )
      {
        AEBaseBlock blk = (AEBaseBlock) rh.getBlock();
        FlippableIcon ico = blk.getRendererInstance().getTexture( ForgeDirection.EAST );
        ico.setFlip( false, true );
      }

      Tessellator.instance.setBrightness( 15 << 20 | 15 << 4 );
      Tessellator.instance.setColorOpaque_I( myColor.blackVariant );
      rh.setTexture( firstIcon, firstIcon, firstIcon, firstIcon, firstIcon, firstIcon );
      renderAllFaces( (AEBaseBlock) rh.getBlock(), x, y, z, rh, renderer );

      Tessellator.instance.setColorOpaque_I( myColor.whiteVariant );
      rh.setTexture( secondIcon, secondIcon, secondIcon, secondIcon, secondIcon, secondIcon );
      renderAllFaces( (AEBaseBlock) rh.getBlock(), x, y, z, rh, renderer );

      renderer.uvRotateBottom = renderer.uvRotateEast = renderer.uvRotateNorth = renderer.uvRotateSouth = renderer.uvRotateTop = renderer.uvRotateWest = 0;

      rh.setTexture( getTexture( getCableColor() ) );
    }

    else if ( ghh != null && partHost != null && ghh.getCableConnectionType( of ) != AECableType.GLASS && partHost.getColor() != AEColor.Transparent
        && partHost.getPart( of.getOpposite() ) == null )
      rh.setTexture( getSmartTexture( myColor = partHost.getColor() ) );
    else
      rh.setTexture( getSmartTexture( getCableColor() ) );
View Full Code Here


    for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
    {
      IPart p = getHost().getPart( dir );
      if ( p != null && p instanceof IGridHost )
      {
        IGridHost igh = (IGridHost) p;
        AECableType type = igh.getCableConnectionType( dir.getOpposite() );
        if ( type == AECableType.COVERED || type == AECableType.SMART )
        {
          useCovered = true;
          break;
        }
      }
      else if ( connections.contains( dir ) )
      {
        TileEntity te = this.tile.getWorldObj().getTileEntity( x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ );
        IPartHost partHost = te instanceof IPartHost ? (IPartHost) te : null;
        IGridHost gh = te instanceof IGridHost ? (IGridHost) te : null;
        if ( partHost == null && gh != null && gh.getCableConnectionType( dir ) != AECableType.GLASS )
          requireDetailed = true;
      }
    }

    if ( useCovered )
View Full Code Here

    {
      ContainerCraftAmount cca = (ContainerCraftAmount) player.openContainer;
      Object target = cca.getTarget();
      if ( target instanceof IGridHost )
      {
        IGridHost gh = (IGridHost) target;
        IGridNode gn = gh.getGridNode( ForgeDirection.UNKNOWN );
        if ( gn == null )
          return;

        IGrid g = gn.getGrid();
        if ( g == null || cca.whatToMake == null )
View Full Code Here

    c.done();

    Iterator<IGridHost> i = c.getTiles();
    while (i.hasNext())
    {
      IGridHost gh = i.next();
      IGridNode n = gh.getGridNode( ForgeDirection.UNKNOWN );
      if ( n != null )
      {
        IGrid g = n.getGrid();
        if ( g != null )
        {
View Full Code Here

TOP

Related Classes of appeng.api.networking.IGridHost

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.