Program: 1319
Project: 1319
Buggy source:
/** 
 * Generates the vertex-, texture- and color-arrays.
 */
public void generateVertexArray(){
  _color.clear();
  _quads.clear();
  _tex.clear();
  Vector3f offset=new Vector3f(_position.x * CHUNK_DIMENSIONS.x,_position.y * CHUNK_DIMENSIONS.y,_position.z * CHUNK_DIMENSIONS.z);
  for (int x=0; x < CHUNK_DIMENSIONS.x; x++) {
    for (int y=0; y < CHUNK_DIMENSIONS.y; y++) {
      for (int z=0; z < CHUNK_DIMENSIONS.z; z++) {
        int block=_blocks[x][y][z];
        if (block > 0) {
          boolean drawFront, drawBack, drawLeft, drawRight, drawTop, drawBottom;
          int blockToCheck=0;
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x),getBlockWorldPosY(y + 1),getBlockWorldPosZ(z));
          drawTop=checkBlockTypeToDraw(blockToCheck,block);
          if (drawTop) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.TOP);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x),getBlockWorldPosY(y + 1),getBlockWorldPosZ(z)) - (dimBlockAtLocalPos(x,y + 1,z) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.TOP).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.TOP).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x),getBlockWorldPosY(y),getBlockWorldPosZ(z - 1));
          drawFront=checkBlockTypeToDraw(blockToCheck,block);
          if (drawFront) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.FRONT);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x),getBlockWorldPosY(y),getBlockWorldPosZ(z - 1)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x,y,z - 1) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.FRONT).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.FRONT).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x),getBlockWorldPosY(y),getBlockWorldPosZ(z + 1));
          drawBack=checkBlockTypeToDraw(blockToCheck,block);
          if (drawBack) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.BACK);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x),getBlockWorldPosY(y),getBlockWorldPosZ(z + 1)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x,y,z + 1) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.BACK).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.BACK).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x - 1),getBlockWorldPosY(y),getBlockWorldPosZ(z));
          drawLeft=checkBlockTypeToDraw(blockToCheck,block);
          if (drawLeft) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.LEFT);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x - 1),getBlockWorldPosY(y),getBlockWorldPosZ(z)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x - 1,y,z) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.LEFT).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.LEFT).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x + 1),getBlockWorldPosY(y),getBlockWorldPosZ(z));
          drawRight=checkBlockTypeToDraw(blockToCheck,block);
          if (drawRight) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.RIGHT);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x + 1),getBlockWorldPosY(y),getBlockWorldPosZ(z)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x + 1,y,z) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.RIGHT).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.RIGHT).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x),getBlockWorldPosY(y - 1),getBlockWorldPosZ(z));
          drawBottom=checkBlockTypeToDraw(blockToCheck,block);
          if (drawBottom) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.BOTTOM);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x),getBlockWorldPosY(y - 1),getBlockWorldPosZ(z)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x,y - 1,z) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.BOTTOM).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.BOTTOM).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Generates the vertex-, texture- and color-arrays.
 */
public synchronized void generateVertexArray(){
  _color.clear();
  _quads.clear();
  _tex.clear();
  Vector3f offset=new Vector3f(_position.x * CHUNK_DIMENSIONS.x,_position.y * CHUNK_DIMENSIONS.y,_position.z * CHUNK_DIMENSIONS.z);
  for (int x=0; x < CHUNK_DIMENSIONS.x; x++) {
    for (int y=0; y < CHUNK_DIMENSIONS.y; y++) {
      for (int z=0; z < CHUNK_DIMENSIONS.z; z++) {
        int block=_blocks[x][y][z];
        if (block > 0) {
          boolean drawFront, drawBack, drawLeft, drawRight, drawTop, drawBottom;
          int blockToCheck=0;
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x),getBlockWorldPosY(y + 1),getBlockWorldPosZ(z));
          drawTop=checkBlockTypeToDraw(blockToCheck,block);
          if (drawTop) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.TOP);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x),getBlockWorldPosY(y + 1),getBlockWorldPosZ(z)) - (dimBlockAtLocalPos(x,y + 1,z) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.TOP).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.TOP).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x),getBlockWorldPosY(y),getBlockWorldPosZ(z - 1));
          drawFront=checkBlockTypeToDraw(blockToCheck,block);
          if (drawFront) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.FRONT);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x),getBlockWorldPosY(y),getBlockWorldPosZ(z - 1)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x,y,z - 1) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.FRONT).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.FRONT).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x),getBlockWorldPosY(y),getBlockWorldPosZ(z + 1));
          drawBack=checkBlockTypeToDraw(blockToCheck,block);
          if (drawBack) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.BACK);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x),getBlockWorldPosY(y),getBlockWorldPosZ(z + 1)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x,y,z + 1) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.BACK).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.BACK).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x - 1),getBlockWorldPosY(y),getBlockWorldPosZ(z));
          drawLeft=checkBlockTypeToDraw(blockToCheck,block);
          if (drawLeft) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.LEFT);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x - 1),getBlockWorldPosY(y),getBlockWorldPosZ(z)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x - 1,y,z) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.LEFT).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.LEFT).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x + 1),getBlockWorldPosY(y),getBlockWorldPosZ(z));
          drawRight=checkBlockTypeToDraw(blockToCheck,block);
          if (drawRight) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.RIGHT);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x + 1),getBlockWorldPosY(y),getBlockWorldPosZ(z)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x + 1,y,z) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.RIGHT).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.RIGHT).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
          }
          blockToCheck=_parent.getBlock(getBlockWorldPosX(x),getBlockWorldPosY(y - 1),getBlockWorldPosZ(z));
          drawBottom=checkBlockTypeToDraw(blockToCheck,block);
          if (drawBottom) {
            Vector3f colorOffset=Helper.getInstance().getColorOffsetFor(block,Helper.SIDE.BOTTOM);
            float shadowIntens=Math.max(_parent.getLight(getBlockWorldPosX(x),getBlockWorldPosY(y - 1),getBlockWorldPosZ(z)) - BLOCK_SIDE_DIMMING - (dimBlockAtLocalPos(x,y - 1,z) ? DIMMING_INTENS : 0.0f),MIN_LIGHT);
            float texOffsetX=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.BOTTOM).x;
            float texOffsetY=Helper.getInstance().getTextureOffsetFor(block,Helper.SIDE.BOTTOM).y;
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(-0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX + 0.0625f);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
            _color.add(colorOffset.x * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.y * shadowIntens * _parent.getDaylight());
            _color.add(colorOffset.z * shadowIntens * _parent.getDaylight());
            _tex.add(texOffsetX);
            _tex.add(texOffsetY + 0.0625f);
            _quads.add(-0.5f + x + offset.x);
            _quads.add(-0.5f + y + offset.y);
            _quads.add(0.5f + z + offset.z);
          }
        }
      }
    }
  }
}