public static void Replace(Level old, Level lvl) { LevelDB.SaveBlockDB(old); LevelInfo.Loaded.Remove(old); LevelInfo.Loaded.Add(lvl); old.setPhysics(0); old.ClearPhysics(); lvl.StartPhysics(); Player[] players = PlayerInfo.Online.Items; foreach (Player pl in players) { if (pl.level != old) { continue; } pl.level = lvl; ReloadMap(null, pl, false); } old.Unload(true, false); if (old == Server.mainLevel) { Server.mainLevel = lvl; } }
public void SaveBlockDBChanges() { lock (dbLock) LevelDB.SaveBlockDB(this); }