McProtoNet Help

Интерфейсы

В библиотеке реализованы несколько интерфейсов для обработки пакетов.

IPacket

IPacket — это базовый интерфейс для описания пакетов. Он содержит методы, которые позволяют проверять, какие версии поддерживает пакет, а также свойство типа PacketIdentifier, представляющее собой мета-информацию о пакете:

  • Order — ключ, необходимый для получения идентификатора пакета для конкретной версии протокола.

  • Name — имя пакета.

  • State — состояние пакета (например, Handshaking — рукопожатие, Login — логин, Configuration — конфигурация).

  • Direction — направление пакета (к серверу или клиенту).

public interface IPacket { static virtual PacketIdentifier PacketId => PacketIdentifier.Undefined; static virtual bool IsSupportedVersionStatic(int protocolVersion) => false; PacketIdentifier GetPacketId(); bool IsSupportedVersion(int protocolVersion); }

IServerPacket

Интерфейс IServerPacket описывает серверный пакет. Он наследуется от IPacket и добавляет метод Deserialize.

public interface IServerPacket : IPacket { void Deserialize(ref MinecraftPrimitiveReader reader, int protocolVersion); }

IClientPacket

Интерфейс IClientPacket описывает клиентский пакет. Он также наследуется от IPacket и добавляет метод Serialize.

public interface IClientPacket : IPacket { void Serialize(ref MinecraftPrimitiveWriter writer, int protocolVersion); }
Last modified: 17 February 2025