mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
* Add test replay handler * Fix incorrect built raw packet * Fix incorrect built raw packet * Add filter * Add not working zip lib * Add dotNetZip lib and complete basic function * Update ReplayHandler.cs * Complete Replay handler Without client player handling * Complete replay mod - New ChatBot OnNetworkPacket event * Add auto-backup and command for Replay Mod * Add ReplayMod description to readme * Small naming changes, fix compile error on .NET4.0 * ReplayHandler slight optimizations Use Path.Combine to automatically use Windows '\' or Linux '/' Move re-usable common parts outside the Replay handler Small optimizations in building JSON strings Co-authored-by: ORelio <oreliogitantispam.l0gin@spamgourmet.com>
114 lines
No EOL
2.8 KiB
C#
114 lines
No EOL
2.8 KiB
C#
// OffsetStream.cs
|
|
// ------------------------------------------------------------------
|
|
//
|
|
// Copyright (c) 2009 Dino Chiesa
|
|
// All rights reserved.
|
|
//
|
|
// This code module is part of DotNetZip, a zipfile class library.
|
|
//
|
|
// ------------------------------------------------------------------
|
|
//
|
|
// This code is licensed under the Microsoft Public License.
|
|
// See the file License.txt for the license details.
|
|
// More info on: http://dotnetzip.codeplex.com
|
|
//
|
|
// ------------------------------------------------------------------
|
|
//
|
|
// last saved (in emacs):
|
|
// Time-stamp: <2009-August-27 12:50:35>
|
|
//
|
|
// ------------------------------------------------------------------
|
|
//
|
|
// This module defines logic for handling reading of zip archives embedded
|
|
// into larger streams. The initial position of the stream serves as
|
|
// the base offset for all future Seek() operations.
|
|
//
|
|
// ------------------------------------------------------------------
|
|
|
|
|
|
using System;
|
|
using System.IO;
|
|
|
|
namespace Ionic.Zip
|
|
{
|
|
internal class OffsetStream : System.IO.Stream, System.IDisposable
|
|
{
|
|
private Int64 _originalPosition;
|
|
private Stream _innerStream;
|
|
|
|
public OffsetStream(Stream s)
|
|
: base()
|
|
{
|
|
_originalPosition = s.Position;
|
|
_innerStream = s;
|
|
}
|
|
|
|
public override int Read(byte[] buffer, int offset, int count)
|
|
{
|
|
return _innerStream.Read(buffer, offset, count);
|
|
}
|
|
|
|
public override void Write(byte[] buffer, int offset, int count)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public override bool CanRead
|
|
{
|
|
get { return _innerStream.CanRead; }
|
|
}
|
|
|
|
public override bool CanSeek
|
|
{
|
|
get { return _innerStream.CanSeek; }
|
|
}
|
|
|
|
public override bool CanWrite
|
|
{
|
|
get { return false; }
|
|
}
|
|
|
|
public override void Flush()
|
|
{
|
|
_innerStream.Flush();
|
|
}
|
|
|
|
public override long Length
|
|
{
|
|
get
|
|
{
|
|
return _innerStream.Length;
|
|
}
|
|
}
|
|
|
|
public override long Position
|
|
{
|
|
get { return _innerStream.Position - _originalPosition; }
|
|
set { _innerStream.Position = _originalPosition + value; }
|
|
}
|
|
|
|
|
|
public override long Seek(long offset, System.IO.SeekOrigin origin)
|
|
{
|
|
return _innerStream.Seek(_originalPosition + offset, origin) - _originalPosition;
|
|
}
|
|
|
|
|
|
public override void SetLength(long value)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
void IDisposable.Dispose()
|
|
{
|
|
Close();
|
|
}
|
|
|
|
public override void Close()
|
|
{
|
|
base.Close();
|
|
}
|
|
|
|
}
|
|
|
|
} |