public void doRenderBlock(EntityBlock entity, double i, double j, double k) {
    if (entity.isDead) return;

    shadowSize = entity.shadowSize;
    World world = entity.worldObj;
    BlockInterface util = new BlockInterface();
    util.texture = entity.texture;

    for (int iBase = 0; iBase < entity.iSize; ++iBase) {
      for (int jBase = 0; jBase < entity.jSize; ++jBase) {
        for (int kBase = 0; kBase < entity.kSize; ++kBase) {

          util.minX = 0;
          util.minY = 0;
          util.minZ = 0;

          double remainX = entity.iSize - iBase;
          double remainY = entity.jSize - jBase;
          double remainZ = entity.kSize - kBase;

          util.maxX = (remainX > 1.0 ? 1.0 : remainX);
          util.maxY = (remainY > 1.0 ? 1.0 : remainY);
          util.maxZ = (remainZ > 1.0 ? 1.0 : remainZ);

          GL11.glPushMatrix();
          GL11.glTranslatef((float) i + 0.5F, (float) j + 0.5F, (float) k + 0.5F);
          GL11.glRotatef(entity.rotationX, 1, 0, 0);
          GL11.glRotatef(entity.rotationY, 0, 1, 0);
          GL11.glRotatef(entity.rotationZ, 0, 0, 1);
          GL11.glTranslatef(iBase, jBase, kBase);

          ForgeHooksClient.bindTexture(DefaultProps.TEXTURE_BLOCKS, 0);

          int lightX, lightY, lightZ;

          lightX = (int) (Math.floor(entity.posX) + iBase);
          lightY = (int) (Math.floor(entity.posY) + jBase);
          lightZ = (int) (Math.floor(entity.posZ) + kBase);

          GL11.glDisable(2896 /* GL_LIGHTING */);
          renderBlock(util, world, lightX, lightY, lightZ, false, true);
          GL11.glEnable(2896 /* GL_LIGHTING */);
          GL11.glPopMatrix();
        }
      }
    }
  }