示例#1
0
        /// <summary>
        /// Returns a bool stating if the write was unsuccessful.
        /// </summary>
        public virtual bool WriteNextIO()
        {
            AnvilChunkLoaderPending anvilchunkloaderpending = null;

            lock (Field_48450_c)
            {
                if (Field_48451_a.Count > 0)
                {
                    anvilchunkloaderpending = Field_48451_a[0];
                    Field_48451_a.RemoveAt(0);
                    Field_48449_b.Remove(anvilchunkloaderpending.Field_48427_a);
                }
                else
                {
                    return(false);
                }
            }

            if (anvilchunkloaderpending != null)
            {
                try
                {
                    Func_48447_a(anvilchunkloaderpending);
                }
                catch (Exception exception)
                {
                    Utilities.LogException(exception);
                }
            }

            return(true);
        }
示例#2
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: private void Func_48447_a(AnvilChunkLoaderPending par1AnvilChunkLoaderPending) throws IOException
        private void Func_48447_a(AnvilChunkLoaderPending par1AnvilChunkLoaderPending)
        {
            Stream dataoutputstream = RegionFileCache.GetChunkOutputStream(ChunkSaveLocation, par1AnvilChunkLoaderPending.Field_48427_a.ChunkXPos, par1AnvilChunkLoaderPending.Field_48427_a.ChunkZPos);

            CompressedStreamTools.Write(par1AnvilChunkLoaderPending.Field_48426_b, new BinaryWriter(dataoutputstream));
            dataoutputstream.Close();
        }
示例#3
0
        protected virtual void Func_48446_a(ChunkCoordIntPair par1ChunkCoordIntPair, NBTTagCompound par2NBTTagCompound)
        {
            lock (Field_48450_c)
            {
                if (Field_48449_b.Contains(par1ChunkCoordIntPair))
                {
                    for (int i = 0; i < Field_48451_a.Count; i++)
                    {
                        if (Field_48451_a[i].Field_48427_a.Equals(par1ChunkCoordIntPair))
                        {
                            Field_48451_a[i] = new AnvilChunkLoaderPending(par1ChunkCoordIntPair, par2NBTTagCompound);
                            return;
                        }
                    }
                }

                Field_48451_a.Add(new AnvilChunkLoaderPending(par1ChunkCoordIntPair, par2NBTTagCompound));
                Field_48449_b.Add(par1ChunkCoordIntPair);
                ThreadedFileIOBase.ThreadedIOInstance.QueueIO(this);
                return;
            }
        }