private static void saveLayers() { AlphaBlockCollection chk = null; int x, z, cx, cz, ax, az; mnuStatus.Text = "Saving Block Data"; for (cx = 0; cx < cxd; cx++) { for (cz = 0; cz < czd; cz++) { if (reg.ChunkExists(cx, cz)) { chk = reg.GetChunkRef(cx, cz).Blocks; for (x = 0; x < xd; x++) { for (z = 0; z < zd; z++) { ax = cx * xd + x; az = cz * zd + z; chk.SetBlock(x, y, z, new AlphaBlock(Tools.Tool.Map[ax][az].ID, Tools.Tool.Map[ax][az].Data)); if (Tools.Tool.Map[ax][az].ent != null) { chk.SetTileEntity(x, y, z, Tools.Tool.Map[ax][az].ent); } } } mnuLoad.Increment(xd * zd); reg.Save(); } } } GC.Collect(); mnuLoad.Increment(-hgt * wid); mnuStatus.Text = "Not Loading"; }