// XXX: Exceptions /// <inherits /> public bool DeleteRegion(int rx, int rz) { IRegion r = GetRegion(rx, rz); if (r == null) { return(false); } RegionKey k = new RegionKey(rx, rz); _cache.Remove(k); DeleteRegionCore(r); try { File.Delete(r.GetFilePath()); } catch (Exception e) { Console.WriteLine("NOTICE: " + e.Message); return(false); } return(true); }
/// <inherits /> public IRegion CreateRegion(int rx, int rz) { IRegion r = GetRegion(rx, rz); if (r == null) { string fp = "r." + rx + "." + rz + ".mca"; using (RegionFile rf = CreateRegionFileCore(rx, rz)) { } r = CreateRegionCore(rx, rz); RegionKey k = new RegionKey(rx, rz); _cache[k] = r; } return(r); }
/// <inherits /> public IRegion GetRegion(int rx, int rz) { RegionKey k = new RegionKey(rx, rz); IRegion r; try { if (_cache.TryGetValue(k, out r) == false) { r = CreateRegionCore(rx, rz); _cache.Add(k, r); } return(r); } catch (FileNotFoundException) { _cache.Add(k, null); return(null); } }