Beispiel #1
0
        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";
        }