@Override
  /** Renders side. */
  protected void renderBaseSide(int x, int y, int z, int side, Icon icon) {
    int slopeID = BlockProperties.getData(TE);

    switch (renderID) {
      case NORMAL_YN:
        RenderHelper.renderFaceYNeg(renderBlocks, x, y, z, icon);
        break;
      case NORMAL_YP:
        RenderHelper.renderFaceYPos(renderBlocks, x, y, z, icon);
        break;
      case NORMAL_ZN:
        RenderHelper.renderFaceZNeg(renderBlocks, x, y, z, icon);
        break;
      case NORMAL_ZP:
        RenderHelper.renderFaceZPos(renderBlocks, x, y, z, icon);
        break;
      case NORMAL_XN:
        RenderHelper.renderFaceXNeg(renderBlocks, x, y, z, icon);
        break;
      case NORMAL_XP:
        RenderHelper.renderFaceXPos(renderBlocks, x, y, z, icon);
        break;
      case TRIANGLE_XN:
        HelperTriangle.renderFaceXNeg(renderBlocks, x, y, z, icon);
        break;
      case TRIANGLE_XP:
        HelperTriangle.renderFaceXPos(renderBlocks, x, y, z, icon);
        break;
      case TRIANGLE_ZN:
        HelperTriangle.renderFaceZNeg(renderBlocks, x, y, z, icon);
        break;
      case TRIANGLE_ZP:
        HelperTriangle.renderFaceZPos(renderBlocks, x, y, z, icon);
        break;
      case WEDGE_YN:
        HelperOrthoWedge.renderFaceYNeg(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_YP:
        HelperOrthoWedge.renderFaceYPos(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_SLOPED_ZN:
        HelperOblWedge.renderSlopeZNeg(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_ZN:
        HelperOrthoWedge.renderFaceZNeg(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_SLOPED_ZP:
        HelperOblWedge.renderSlopeZPos(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_ZP:
        HelperOrthoWedge.renderFaceZPos(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_SLOPED_XN:
        HelperOblWedge.renderSlopeXNeg(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_XN:
        HelperOrthoWedge.renderFaceXNeg(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_SLOPED_XP:
        HelperOblWedge.renderSlopeXPos(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_XP:
        HelperOrthoWedge.renderFaceXPos(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_CORNER_SLOPED_ZN:
        HelperCorner.renderSlopeZNeg(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_CORNER_SLOPED_ZP:
        HelperCorner.renderSlopeZPos(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_CORNER_SLOPED_XN:
        HelperCorner.renderSlopeXNeg(renderBlocks, slopeID, x, y, z, icon);
        break;
      case WEDGE_CORNER_SLOPED_XP:
        HelperCorner.renderSlopeXPos(renderBlocks, slopeID, x, y, z, icon);
        break;
      case OBL_CORNER_SLOPED_YN:
        HelperOblique.renderSlopeYNeg(renderBlocks, slopeID, x, y, z, icon);
        break;
      case OBL_CORNER_SLOPED_YP:
        HelperOblique.renderSlopeYPos(renderBlocks, slopeID, x, y, z, icon);
        break;
      case PYR_YZNN:
        HelperPyramid.renderFaceYNegZNeg(renderBlocks, x, y, z, icon);
        break;
      case PYR_YZNP:
        HelperPyramid.renderFaceYNegZPos(renderBlocks, x, y, z, icon);
        break;
      case PYR_YXNN:
        HelperPyramid.renderFaceYNegXNeg(renderBlocks, x, y, z, icon);
        break;
      case PYR_YXNP:
        HelperPyramid.renderFaceYNegXPos(renderBlocks, x, y, z, icon);
        break;
      case PYR_YZPN:
        HelperPyramid.renderFaceYPosZNeg(renderBlocks, x, y, z, icon);
        break;
      case PYR_YZPP:
        HelperPyramid.renderFaceYPosZPos(renderBlocks, x, y, z, icon);
        break;
      case PYR_YXPN:
        HelperPyramid.renderFaceYPosXNeg(renderBlocks, x, y, z, icon);
        break;
      case PYR_YXPP:
        HelperPyramid.renderFaceYPosXPos(renderBlocks, x, y, z, icon);
        break;
      case PRISM_NORTH_XN:
        HelperPrism.renderNorthFaceXNeg(renderBlocks, x, y, z, icon);
        break;
      case PRISM_NORTH_XP:
        HelperPrism.renderNorthFaceXPos(renderBlocks, x, y, z, icon);
        break;
      case PRISM_SOUTH_XN:
        HelperPrism.renderSouthFaceXNeg(renderBlocks, x, y, z, icon);
        break;
      case PRISM_SOUTH_XP:
        HelperPrism.renderSouthFaceXPos(renderBlocks, x, y, z, icon);
        break;
      case PRISM_WEST_ZN:
        HelperPrism.renderWestFaceZNeg(renderBlocks, x, y, z, icon);
        break;
      case PRISM_WEST_ZP:
        HelperPrism.renderWestFaceZPos(renderBlocks, x, y, z, icon);
        break;
      case PRISM_EAST_ZN:
        HelperPrism.renderEastFaceZNeg(renderBlocks, x, y, z, icon);
        break;
      case PRISM_EAST_ZP:
        HelperPrism.renderEastFaceZPos(renderBlocks, x, y, z, icon);
        break;
      case PRISM_WEDGE_ZN:
        HelperPrism.renderSlopeZNeg(renderBlocks, x, y, z, icon);
        break;
      case PRISM_WEDGE_ZP:
        HelperPrism.renderSlopeZPos(renderBlocks, x, y, z, icon);
        break;
      case PRISM_WEDGE_XN:
        HelperPrism.renderSlopeXNeg(renderBlocks, x, y, z, icon);
        break;
      case PRISM_WEDGE_XP:
        HelperPrism.renderSlopeXPos(renderBlocks, x, y, z, icon);
        break;
    }
  }