public void render(Tesselator tess, int i, int j, int k, Level level) {
		if(icon[0] < 0) return;

		boolean xm = !level.getBlock(i - 1, j, k).solid, xp = !level.getBlock(i + 1, j, k).solid;
		boolean ym = !level.getBlock(i, j - 1, k).solid, yp = !level.getBlock(i, j + 1, k).solid;
		boolean zm = !level.getBlock(i, j, k - 1).solid, zp = !level.getBlock(i, j, k + 1).solid;
		
		float size1 = size;
		
		float x = i;
		float y = j;
		float z = k;

		if(zm) {
			/*South*/
			tess.addVert(x * size + size1, y * size, z * size, tm1 + c * (ix[3]), -tm + c * (iy[3] + 1f), 0f, 0f, -1f);
			tess.addVert(x * size, y * size, z * size, -tm + c * (ix[3] + 1f), -tm + c * (iy[3] + 1f), 0f, 0f, -1f);
			tess.addVert(x * size, y * size + size1, z * size, -tm + c * (ix[3] + 1f), tm1 + c * (iy[3]), 0f, 0f, -1f);
			tess.addVert(x * size + size1, y * size + size1, z * size, tm1 + c * (ix[3]), tm1 + c * (iy[3]), 0f, 0f, -1f);
		}
			
		if(xp) {
			/*West*/
			tess.addVert(x * size + size1, y * size, z * size, -tm + c * (ix[4] + 1f), -tm + c * (iy[4] + 1f), 1f, 0f, 0f);
			tess.addVert(x * size + size1, y * size + size1, z * size, -tm + c * (ix[4] + 1f), tm1 + c * (iy[4]), 1f, 0f, 0f);
			tess.addVert(x * size + size1, y * size + size1, z * size + size1, tm1 + c * (ix[4]), tm1 + c * (iy[4]), 1f, 0f, 0f);
			tess.addVert(x * size + size1, y * size, z * size + size1, tm1 + c * (ix[4]), -tm + c * (iy[4] + 1f), 1f, 0f, 0f);
		}
		
		if(xm) {
			/*East*/
			tess.addVert(x * size, y * size + size1, z * size, tm1 + c * (ix[2]), tm1 + c * (iy[2]), -1f, 0f, 0f);
			tess.addVert(x * size, y * size, z * size, tm1 + c * (ix[2]), -tm + c * (iy[2] + 1f), -1f, 0f, 0f);
			tess.addVert(x * size, y * size, z * size + size1, -tm + c * (ix[2] + 1f), -tm + c * (iy[2] + 1f), -1f, 0f, 0f);
			tess.addVert(x * size, y * size + size1, z * size + size1, -tm + c * (ix[2] + 1f), tm1 + c * (iy[2]), -1f, 0f, 0f);
		}
		
		if(zp) {
			/*North*/
			tess.addVert(x * size, y * size, z * size + size1, tm1 + c * (ix[1]), -tm + c * (iy[1] + 1f), 0f, 0f, 1f);
			tess.addVert(x * size + size1, y * size, z * size + size1, -tm + c * (ix[1] + 1f), -tm + c * (iy[1] + 1f), 0f, 0f, 1f);
			tess.addVert(x * size + size1, y * size + size1, z * size + size1, -tm + c * (ix[1] + 1f), tm1 + c * (iy[1]), 0f, 0f, 1f);
			tess.addVert(x * size, y * size + size1, z * size + size1, tm1 + c * (ix[1]), tm1 + c * (iy[1]), 0f, 0f, 1f);
		}
		
		if(yp) {
			/*Top*/
			tess.addVert(x * size + size1, y * size + size1, z * size + size1, -tm + c * (ix[0] + 1f), -tm + c * (iy[0] + 1f), 0f, 1f, 0f);
			tess.addVert(x * size + size1, y * size + size1, z * size, -tm + c * (ix[0] + 1f), tm1 + c * (iy[0]), 0f, 1f, 0f);
			tess.addVert(x * size, y * size + size1, z * size, tm1 + c * (ix[0]), tm1 + c * (iy[0]), 0f, 1f, 0f);
			tess.addVert(x * size, y * size + size1, z * size + size1, tm1 + c * (ix[0]), -tm + c * (iy[0] + 1f), 0f, 1f, 0f);
		}
		
		if(ym) {
			/*Bottom*/
			tess.addVert(x * size + size1, y * size, z * size, tm1 + c * (ix[5]), -tm + c * (iy[5] + 1f), 0f, -1f, 0f);
			tess.addVert(x * size + size1, y * size, z * size + size1, tm1 + c * (ix[5]), tm1 + c * (iy[5]), 0f, -1f, 0f);
			tess.addVert(x * size, y * size, z * size + size1, -tm + c * (ix[5] + 1f), tm1 + c * (iy[5]), 0f, -1f, 0f);
			tess.addVert(x * size, y * size, z * size, -tm + c * (ix[5] + 1f), -tm + c * (iy[5] + 1f), 0f, -1f, 0f);
		}
	}