<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Miracle.Game.Proxy.Sdk</name>
    </assembly>
    <members>
        <member name="F:Miracle.Game.Proxy.Constant.ClientState.Configuration">
            <summary>
            Configuration state (1.20.2+)
            在 1.20.2+ 中，Login 成功后先进入 Configuration 状态，配置完成后进入 Play 状态
            注意：在协议层面，1.20.2+ 的 Configuration state ID 是 3，Play state ID 是 4
            但在代理内部，我们使用独立的枚举值以保持向后兼容
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Diagnostics.PacketLogger">
            <summary>
            Packet 日志记录器，用于捕获和分析协议数据包
            支持实时记录和文件导出，便于分析 ViaVersion 和原生客户端的差异
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Diagnostics.PacketLogger.Enabled">
            <summary>
            是否启用日志记录
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Diagnostics.PacketLogger.LogDirectory">
            <summary>
            日志输出目录
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.ShouldLog(Miracle.Game.Proxy.Constant.ClientState,System.Int32)">
            <summary>
            在调用方做一次快速判断，避免为最终会被过滤的包做额外复制/序列化。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.StartNewSession(System.String)">
            <summary>
            开始新的日志会话
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.Log(Miracle.Game.Proxy.Constant.PacketDirection,Miracle.Game.Proxy.Constant.ClientState,System.Int32,System.Byte[],Miracle.Game.Proxy.Constant.ProtocolVersion,System.String)">
            <summary>
            记录数据包
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.Log(Miracle.Game.Proxy.Constant.PacketDirection,Miracle.Game.Proxy.Constant.ClientState,System.Int32,DotNetty.Buffers.IByteBuffer,Miracle.Game.Proxy.Constant.ProtocolVersion,System.String)">
            <summary>
            从 ByteBuffer 记录数据包
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.LogRaw(Miracle.Game.Proxy.Constant.PacketDirection,Miracle.Game.Proxy.Constant.ClientState,System.Int32,DotNetty.Buffers.IByteBuffer,System.String)">
            <summary>
            记录原始数据包 (当没有 IPacket 实例时)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.LogPacket(Miracle.Game.Proxy.Constant.PacketDirection,Miracle.Game.Proxy.Constant.ClientState,Miracle.Game.Proxy.Packet.IPacket)">
            <summary>
            记录 IPacket 对象 (自动序列化以获取数据)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.ExportToJson">
            <summary>
            导出当前会话为 JSON 格式便于分析
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.GetCurrentLogFile">
            <summary>
            获取当前日志文件路径
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Diagnostics.PacketLogger.EntryCount">
            <summary>
            获取记录条目数
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Diagnostics.PacketLogger.Clear">
            <summary>
            清空内存中的日志
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Diagnostics.PacketLogEntry">
            <summary>
            数据包日志条目
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.Entities.Enum.EHoverAction.ShowText">
            <summary>
            Shows a raw JSON text component.
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.Entities.Enum.EHoverAction.ShowItem">
            <summary>
            Shows the tooltip of an item as if it was being hovering over it in an inventory.
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.Entities.Enum.EHoverAction.ShowEntity">
            <summary>
            Shows an entity's name, type, and UUID. 
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Entities.Player.PlayerMovementState">
            <summary>
            玩家位姿缓存，供代理环境复用。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.op_Addition(Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage,Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage)">
            <summary>
            Adds the right <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> to the <see cref="P:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.Extra"/> of the left <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.
            </summary>
            <param name="a">The left chat message on which the right one gets appended.</param>
            <param name="b">The right chat message which will be appended.</param>
            <returns>The modified chat message.</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.op_Addition(Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage,Miracle.Game.Proxy.Entities.Type.ChatColor)">
            <summary>
            Adds the given <see cref="T:Miracle.Game.Proxy.Entities.Type.ChatColor"/> to the text of the given <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.
            </summary>
            <param name="a">The message on which the chat color gets appended.</param>
            <param name="b">The chat color which will be appended.</param>
            <returns>The modified chat message.</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.Simple(System.String)">
            <summary>
            Creates a new <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> object with plain text.
            </summary>
            <param name="text">The text of the <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.</param>
            <returns>The created <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> object.</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.SimpleLegacy(System.String)">
            <summary>
            Creates a new <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> object with plain text. The text will be reformatted by using
            the <see cref="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.ReformatAmpersandPrefixes(System.String)"/> method.
            </summary>
            <param name="text">The text of the <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.</param>
            <returns>The created <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> object.</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.Simple(System.String,Miracle.Game.Proxy.Entities.Type.ChatColor)">
            <summary>
            Creates a new <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> object with plain text.
            </summary>
            <param name="text">The text of the <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.</param>
            <param name="color">The <see cref="T:Miracle.Game.Proxy.Entities.Type.ChatColor"/> of the <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.</param>
            <returns>The created <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> object.</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.SimpleLegacy(System.String,Miracle.Game.Proxy.Entities.Type.ChatColor)">
            <summary>
            Creates a new <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> object with plain text. The text will be reformatted by using
            the <see cref="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.ReformatAmpersandPrefixes(System.String)"/> method.
            </summary>
            <param name="text">The text of the <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.</param>
            <param name="color">The <see cref="T:Miracle.Game.Proxy.Entities.Type.ChatColor"/> of the <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.</param>
            <returns>The created <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/> object.</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.Click(Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage,System.String,System.String,System.String)">
            <summary>
            Appends an underlying <see cref="P:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.ClickEvent"/> (<see cref="T:Miracle.Game.Proxy.Entities.Type.ClickComponent"/>) to the given <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.
            </summary>
            <param name="message">The message which will hold the <see cref="T:Miracle.Game.Proxy.Entities.Type.ClickComponent"/>.</param>
            <param name="action">The action which will be executed when clicking.</param>
            <param name="value">The value which will be executed with the action.</param>
            <param name="translate">The translate value.</param>
            <returns>The given <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.Hover(Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage,System.String,System.Object,System.String)">
            <summary>
            Appends an underlying <see cref="P:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.HoverEvent"/> (<see cref="T:Miracle.Game.Proxy.Entities.Type.HoverComponent"/>) to the given <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.
            </summary>
            <param name="message">The message which will hold the <see cref="T:Miracle.Game.Proxy.Entities.Type.HoverComponent"/>.</param>
            <param name="action">The action which will be executed when clicking.</param>
            <param name="value">The contents which will be executed with the action.</param>
            <param name="translate">The translate value.</param>
            <returns>The given <see cref="T:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage"/>.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Miracle.Game.Proxy.Entities.Type.Chat.DefaultChatMessage.ReformatAmpersandPrefixes(System.String)" -->
        <member name="M:Miracle.Game.Proxy.Entities.Type.HexColor.ToString">
            <inheritdoc/>
        </member>
        <member name="T:Miracle.Game.Proxy.Entities.Type.Germ.GermGUIMenu">
            <summary>
            萌芽GUI菜单
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Entities.Type.Germ.GermGUIMenu.#ctor(System.Collections.Generic.Dictionary{System.Object,System.Object},System.String,System.Boolean,Miracle.Game.Proxy.Constant.ProtocolVersion,System.String,System.String)">
            <summary>
            GermGUIMenu构造函数
            </summary>
            <param name="document">GUI源文本</param>
            <param name="node">节点ID</param>
            <param name="isNormal">是否为普通模式，非HYT特殊版本</param>
        </member>
        <member name="P:Miracle.Game.Proxy.Entities.Type.IServerStatus.Favicon">
            <summary>
            This is a base64 png image, that has dimensions of 64x64
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Entities.Type.ServerStatus.Favicon">
            <summary>
            This is a base64 png image, that has dimensions of 64x64.
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Extensions.ByteBufferExtensions.ReadBytes(DotNetty.Buffers.IByteBuffer,System.Span{System.Byte})">
            <summary>
            将数据读取到 Span 中，支持 stackalloc，零堆分配
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Extensions.ByteBufferExtensions.WriteBytes(DotNetty.Buffers.IByteBuffer,System.ReadOnlySpan{System.Byte})">
            <summary>
            将 Span 数据写入 IByteBuffer
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Extensions.ByteBufferExtensions.WriteNbt(DotNetty.Buffers.IByteBuffer,System.Collections.Generic.Dictionary{System.String,System.Object},Miracle.Game.Proxy.Constant.ProtocolVersion)">
            <summary>
            Writes an NBT structure to the buffer
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Extensions.ByteBufferExtensions.WriteNbtField(DotNetty.Buffers.IByteBuffer,System.Object,Miracle.Game.Proxy.Constant.ProtocolVersion)">
            <summary>
            Writes a single NBT field to the buffer based on its type
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Extensions.ByteBufferExtensions.GetNbtType(System.Object)">
            <summary>
            Gets the NBT tag type for the given object
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Extensions.ByteBufferExtensions.ReadNbt(DotNetty.Buffers.IByteBuffer,Miracle.Game.Proxy.Constant.ProtocolVersion)">
            <summary>
            Read an uncompressed Named Binary Tag blob and remove it from the buffer
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Extensions.ByteBufferExtensions.ReadNbt(DotNetty.Buffers.IByteBuffer,System.Boolean,Miracle.Game.Proxy.Constant.ProtocolVersion)">
            <summary>
            Read an uncompressed Named Binary Tag blob and remove it from the buffer (internal)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Extensions.ByteBufferExtensions.ReadNbtField(DotNetty.Buffers.IByteBuffer,System.Int32,Miracle.Game.Proxy.Constant.ProtocolVersion)">
            <summary>
            Read a single Named Binary Tag field of the specified type and remove it from the buffer
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.AelyEncryption.GetHardware(System.String,System.String)">
            <summary>
            获取当前角色的指定机器码
            </summary>
            <param name="name"></param>
            <param name="uuid"></param>
            <returns></returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.GermPacketHelper.SendButtonsChatMessage(Miracle.Game.Proxy.Netty.ProxyPacketHandler,System.Collections.Generic.List{Miracle.Game.Proxy.Entities.Type.Germ.GermGUIComponent},Miracle.Game.Proxy.Packet.Play.Germ.GermGUIUpdate)">
            <summary>
            发送按钮ChatMessage
            </summary>
            <param name="handler"></param>
            <param name="node"></param>
            <param name="btns"></param>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.GermPacketHelper.SendButtonsChatMessage(Miracle.Game.Proxy.Netty.ProxyPacketHandler,System.Collections.Generic.List{Miracle.Game.Proxy.Entities.Type.Germ.GermGUIComponent},Miracle.Game.Proxy.Packet.Play.Germ.HytGermGUIResponse)">
            <summary>
            发送按钮ChatMessage
            </summary>
            <param name="handler"></param>
            <param name="node"></param>
            <param name="btns"></param>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.JavaAesHelper.AesEncrypt(System.Byte[],System.Byte[],System.Byte[],System.Security.Cryptography.CipherMode)">
            <summary>
            AES加密 对应java中的 aes/cbc/pkcs5padding 模式的算法
            </summary>
            <param name="s">待加密的字符串</param>
            <param name="sKey">密钥</param>
            <returns></returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.JavaAesHelper.AesDecrypt(System.Byte[],System.Byte[],System.Byte[],System.Security.Cryptography.CipherMode)">
            <summary>
            AES解密  对应java中的 aes/cbc/pkcs5padding 模式的算法
            </summary>
            <param name="s">待解密的字符串</param>
            <param name="sKey">密钥</param>
            <returns>返回空为解析失败</returns>
        </member>
        <member name="T:Miracle.Game.Proxy.Helper.PbeWithMd5AndDes">
            <summary>
            Password-Based Encryption with MD5 and DES
            Compatible with Java's PBEWithMD5AndDES implementation
            </summary>
            <remarks>
            <para><strong>PKCS5 vs PKCS7 Compatibility:</strong></para>
            <para>
            This implementation uses PaddingMode.PKCS7 in C#, which is fully compatible with
            Java's PKCS5Padding for DES encryption. The two are equivalent because:
            </para>
            <list type="bullet">
            <item>Java: uses Cipher.getInstance("DES/CBC/PKCS5Padding")</item>
            <item>C#: uses PaddingMode.PKCS7</item>
            <item>PKCS#5 is defined for 8-byte blocks (exactly DES block size)</item>
            <item>PKCS#7 generalizes PKCS#5 for any block size 1-255 bytes</item>
            <item>For DES (8-byte blocks), PKCS#5 and PKCS#7 are identical</item>
            </list>
            <para>
            Java doesn't have a separate PKCS7Padding constant; PKCS5Padding is the standard
            and implements PKCS#7 for 8-byte blocks. Therefore, no compatibility issues exist.
            </para>
            </remarks>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.PbeWithMd5AndDes.#ctor(System.String)">
            <summary>
            Password-Based Encryption with MD5 and DES
            Compatible with Java's PBEWithMD5AndDES implementation
            </summary>
            <remarks>
            <para><strong>PKCS5 vs PKCS7 Compatibility:</strong></para>
            <para>
            This implementation uses PaddingMode.PKCS7 in C#, which is fully compatible with
            Java's PKCS5Padding for DES encryption. The two are equivalent because:
            </para>
            <list type="bullet">
            <item>Java: uses Cipher.getInstance("DES/CBC/PKCS5Padding")</item>
            <item>C#: uses PaddingMode.PKCS7</item>
            <item>PKCS#5 is defined for 8-byte blocks (exactly DES block size)</item>
            <item>PKCS#7 generalizes PKCS#5 for any block size 1-255 bytes</item>
            <item>For DES (8-byte blocks), PKCS#5 and PKCS#7 are identical</item>
            </list>
            <para>
            Java doesn't have a separate PKCS7Padding constant; PKCS5Padding is the standard
            and implements PKCS#7 for 8-byte blocks. Therefore, no compatibility issues exist.
            </para>
            </remarks>
        </member>
        <member name="T:Miracle.Game.Proxy.Helper.PbeWithMd5AndDesTests">
            <summary>
            Test class to verify PbeWithMd5AndDes compatibility between C# and Java
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.PbeWithMd5AndDesTests.RunCompatibilityTests">
            <summary>
            Test encryption/decryption with known test vectors
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.PbeWithMd5AndDesTests.DiagnosticTest(System.String,System.Byte[])">
            <summary>
            Detailed diagnostic test for troubleshooting encryption issues
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Helper.Socks5Helper">
            <summary>
            Socks5 连接测试辅助类
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.Socks5Helper.TestMinecraftServerAsync(System.String,System.UInt16,System.String,System.UInt16,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            测试通过 Socks5 代理连接到 Minecraft 服务器
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.Socks5Helper.SendMinecraftPingAsync(Socks5.Clients.Socks5Client,System.String,System.UInt16,System.Threading.CancellationToken)">
            <summary>
            发送 Minecraft Server List Ping 数据包
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.Socks5Helper.WriteVarInt(System.IO.Stream,System.Int32)">
            <summary>
            写入 VarInt（Minecraft 协议）
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Helper.Socks5Helper.WriteString(System.IO.Stream,System.String)">
            <summary>
            写入字符串（Minecraft 协议）
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Netty.BjdProtocolTranslator">
            <summary>
            BJD Server Protocol Translator
            BJD server sends 1.20.6 packet IDs but with JSON-format Text Components (1.20.1 style).
            This translator converts JSON Text Components to NBT format for 1.20.6 clients.
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.BjdProtocolTranslator.NeedsTranslation(System.Int32)">
            <summary>
            Check if a packet ID might need Text Component translation
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.BjdProtocolTranslator.TryTranslate(System.Int32,DotNetty.Buffers.IByteBuffer,Miracle.Game.Proxy.Constant.ProtocolVersion,DotNetty.Buffers.IByteBuffer@)">
            <summary>
            Try to translate a packet from JSON Text Components to NBT format.
            Returns true if translation was performed, false if no translation needed or failed.
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.BjdProtocolTranslator.LooksLikeJson(DotNetty.Buffers.IByteBuffer)">
            <summary>
            Check if the next field looks like a JSON string (starts with '{' or '"')
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.BjdProtocolTranslator.TranslateTextComponent(DotNetty.Buffers.IByteBuffer,DotNetty.Buffers.IByteBuffer)">
            <summary>
            Read a Chat field and write it as NBT Text Component
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.Encrypt.CryptoHandler.DecodeRSAPublicKey(System.Byte[])">
            <summary>
            Get a cryptographic service for encrypting data using the server's RSA public key
            </summary>
            <param name="x509key">Byte array containing the encoded key</param>
            <returns>Returns the corresponding RSA Crypto Service</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.Encrypt.CryptoHandler.ReadASNLength(System.IO.BinaryReader)">
            <summary>
            Subfunction for decrypting ASN.1 (x509) RSA certificate data fields lengths
            </summary>
            <param name="reader">StreamReader containing the stream to decode</param>
            <returns>Return the read length</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.Encrypt.CryptoHandler.GenerateAESPrivateKey">
            <summary>
            Generate a new random AES key for symmetric encryption
            </summary>
            <returns>Returns a byte array containing the key</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.Encrypt.CryptoHandler.GetServerHash(System.String,System.Byte[],System.Byte[])">
            <summary>
            Get a SHA-1 hash for online-mode session checking
            </summary>
            <param name="serverID">Server ID hash</param>
            <param name="PublicKey">Server's RSA key</param>
            <param name="SecretKey">Secret key chosen by the client</param>
            <returns>Returns the corresponding SHA-1 hex hash</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.Encrypt.CryptoHandler.Digest(System.Byte[][])">
            <summary>
            Generate a SHA-1 hash using several byte arrays
            </summary>
            <param name="tohash">array of byte arrays to hash</param>
            <returns>Returns the hashed data</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.Encrypt.CryptoHandler.GetHexString(System.Byte[])">
            <summary>
            Converts a byte array to its hex string representation
            </summary>
            <param name="p">Byte array to convert</param>
            <returns>Returns the string representation</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.Encrypt.CryptoHandler.TwosComplementLittleEndian(System.Byte[])">
            <summary>
            Compute the two's complement of a little endian byte array
            </summary>
            <param name="p">Byte array to compute</param>
            <returns>Returns the corresponding two's complement</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.Encrypt.FastAes.IsSupported">
            <summary>
            Detects if the required instruction set is supported
            </summary>
            <returns>Is it supported</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.PacketDecoder.ShouldFilterUpdateTeamsPacket(DotNetty.Buffers.IByteBuffer,System.String@)">
            <summary>
            Check if an Update Teams packet should be filtered.
            Filters packets for teams with "collideRule_" prefix as these cause client errors.
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.PacketDecoder.ShouldFilterEntityMetadataPacket(DotNetty.Buffers.IByteBuffer,System.Nullable{System.Int32}@)">
            <summary>
            Check if a Set Entity Metadata packet should be filtered.
            Filters packets containing metadata entries with index >= 21 as these cause client errors in 1.20.6.
            Set Entity Metadata packet structure:
            - Entity ID (VarInt)
            - Metadata entries (repeated): Index (Byte), Type (VarInt), Value (variable)
            - Terminated by 0xFF
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.PacketDecoder.SkipMetadataValue(DotNetty.Buffers.IByteBuffer,System.Int32)">
            <summary>
            Skip a metadata value based on its type.
            Type IDs for 1.20.6: https://wiki.vg/Entity_metadata#Metadata_Type
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.PacketDecoder.SkipSlot(DotNetty.Buffers.IByteBuffer)">
            <summary>
            Skip a Slot/ItemStack in the buffer
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.PacketDecoder.SkipParticle(DotNetty.Buffers.IByteBuffer)">
            <summary>
            Skip a Particle in the buffer
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.ProxyPacketHandler.IsClientHandler">
            <summary>
            Whether this is the client-side handler (vs server-side handler)
            Client handler: receives packets from client, sends to server
            Server handler: receives packets from server, sends to client
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.Netty.ProxyPacketHandler._c2pState">
            <summary>
            Internal Client-to-Proxy connection state storage
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.Netty.ProxyPacketHandler._p2sState">
            <summary>
            Internal Proxy-to-Server connection state storage
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.ProxyPacketHandler.C2PState">
            <summary>
            Client-to-Proxy connection state (resolves to client handler's state)
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.ProxyPacketHandler.P2SState">
            <summary>
            Proxy-to-Server connection state (resolves to server handler's state)
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.ProxyPacketHandler.State">
            <summary>
            Legacy property for backward compatibility. Getter returns C2PState, setter sets both states.
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.ProxyPacketHandler.SetC2PState(Miracle.Game.Proxy.Constant.ClientState)">
            <summary>
            Set the Client-to-Proxy connection state (always sets on client handler)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.ProxyPacketHandler.SetP2SState(Miracle.Game.Proxy.Constant.ClientState)">
            <summary>
            Set the Proxy-to-Server connection state (always sets on server handler)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.ProxyPacketHandler.SetBothStates(Miracle.Game.Proxy.Constant.ClientState)">
            <summary>
            Set both connection states simultaneously
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Netty.Socks5CreateOption">
            <summary>
            SOCKS5 创建选项
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.Socks5CreateOption.Address">
            <summary>
            SOCKS5 代理服务器地址
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.Socks5CreateOption.Port">
            <summary>
            SOCKS5 代理服务器端口
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.Socks5CreateOption.UsernamePassword">
            <summary>
            用户名密码认证信息（可选）
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Netty.UsernamePassword">
            <summary>
            用户名密码认证信息
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.UsernamePassword.UserName">
            <summary>
            用户名
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.UsernamePassword.Password">
            <summary>
            密码
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Netty.TeamStateTracker">
            <summary>
            Tracks team membership state to filter invalid team operations.
            Prevents client disconnect caused by invalid "remove entity from team" packets.
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.ProcessPacket(DotNetty.Buffers.IByteBuffer,System.String@)">
            <summary>
            Process an Update Teams packet and update internal state.
            Returns false if the packet should be filtered (not forwarded to client).
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.HandleCreateTeam(System.String,DotNetty.Buffers.IByteBuffer)">
            <summary>
            Mode 0: Create team with initial members
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.HandleRemoveTeam(System.String)">
            <summary>
            Mode 1: Remove team
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.HandleAddEntities(System.String,DotNetty.Buffers.IByteBuffer,System.String@)">
            <summary>
            Mode 3: Add entities to team
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.HandleRemoveEntities(System.String,DotNetty.Buffers.IByteBuffer,System.String@)">
            <summary>
            Mode 4: Remove entities from team
            Returns false if any entity is not on the team (filter the packet)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.SkipModeZeroFields(DotNetty.Buffers.IByteBuffer)">
            <summary>
            Skip mode 0/2 fields to reach entity list
            Fields: Display Name (Text Component), Friendly Flags, Name Tag Visibility, 
                    Collision Rule, Team Color, Prefix (Text Component), Suffix (Text Component)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.SkipTextComponent(DotNetty.Buffers.IByteBuffer)">
            <summary>
            Skip a Text Component field (either JSON string or NBT)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.Clear">
            <summary>
            Clear all tracked state (call on disconnect)
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Netty.TeamStateTracker.TeamCount">
            <summary>
            Get current team count (for debugging)
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Netty.TeamStateTracker.GetTeamMembers(System.String)">
            <summary>
            Get members of a team (for debugging)
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.ConfigurationPluginMessageHandler">
            <summary>
            Configuration 阶段的 Plugin Message 处理器
            处理 1.20.2+ 的 FML 握手（在 Configuration 阶段）
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.FinishConfigurationHandler">
            <summary>
            Finish Configuration 处理器
            处理服务器发送的配置完成信号 (ViaProxy pattern)
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.LoginAcknowledgedHandler">
            <summary>
            Handler for LoginAcknowledged packet (1.20.2+)
            This packet is sent by the client after receiving LoginSuccess to acknowledge
            the transition from Login to Configuration state.
            
            ViaProxy pattern: This is where we transition C2P to Configuration state.
            P2S should already be in Configuration (set when we received LoginSuccess from server).
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.AcknowledgeFinishConfigurationHandler">
            <summary>
            Acknowledge Finish Configuration 处理器
            透传客户端发送的 ACK，并在 ACK 到达时同步状态 (ViaProxy pattern)
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.ConfigurationKeepAliveHandler">
            <summary>
            Configuration Keep-Alive 处理器 (Server -> Client)
            透传保活包，防止连接超时
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.ConfigurationKeepAliveResponseHandler">
            <summary>
            Configuration Keep-Alive Response 处理器 (Client -> Server)
            透传客户端的保活响应
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.KnownPacksHandler">
            <summary>
            Known Packs 处理器 (Server -> Client)
            处理 1.20.5+ 的数据包协商
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.KnownPacksResponseHandler">
            <summary>
            Known Packs Response 处理器 (Client -> Server)
            透传客户端的数据包响应
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.RegistryDataHandler">
            <summary>
            Registry Data 处理器 (Server -> Client)
            透传注册表数据
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.ConfigurationClientInformationHandler">
            <summary>
            Handler for Configuration Client Information (Id: 0x00)
            对于 BJD 服务器：拦截此包，不转发给服务器
            因为 BJD 客户端不会在 LoginAcknowledged 后立即发送此包
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Configuration.ConfigurationPluginMessageServerBoundHandler">
            <summary>
            Handler for Configuration Plugin Message from client (Id: 0x02)
            对于 BJD 服务器：拦截此包，不转发给服务器
            因为 BJD 客户端不会在 LoginAcknowledged 后立即发送此包
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.DefaultPacketRegistry">
            <summary>
            默认 Packet 注册表，实现 IPacketRegistry 并封装 PacketInitializer 的缓存管理。
            支持按需注册插件程序集，避免重复反射并提升冷启动与开发效率。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.DefaultPacketRegistry.#ctor(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            创建默认注册表并初始化内置 Handler。
            </summary>
            <param name="assemblies">可选的附加程序集列表，会在初始化时自动注册。</param>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.DefaultPacketRegistry.RegisterAssemblies(System.Reflection.Assembly[])">
            <summary>
            注册额外程序集的 Handler，并清空游戏缓存以确保重新构建。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Handshaking.HandshakeHandler.DetectForgeMarker(System.String)">
            <summary>
            检测握手包中的 FML 标记
            ServerAddress 格式: "hostname\0FML\0" 或 "hostname\0FML2\0" 或 "hostname\0FML3\0"
            </summary>
            <returns>(是否为Forge客户端, FML版本字符串)</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Handshaking.HandshakeHandler.GetFMLMarkerForVersion(Miracle.Game.Proxy.Constant.ProtocolVersion,System.Boolean)">
            <summary>
            获取 FML 协议标记（用于连接 Forge 服务器）
            </summary>
            <param name="version">协议版本</param>
            <param name="preferFML3">对于模糊版本(1.20-1.20.1)优先使用FML3</param>
            <returns>
            FML 标记字符串
            - 1.7-1.12.2: "FML" (Play 阶段 FML|HS 通道)
            - 1.13-1.19.4: "FML2" (Login 阶段 fml:loginwrapper)
            - 1.20-1.20.1: "FML3" 或 "FML2" (模糊，取决于 Forge 版本)
            - 1.20.2+: "FML3" (Configuration 阶段 fml:handshake)
            </returns>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.IPacketRegistry">
            <summary>
            抽象 Packet 注册表，提供包解析与 Handler 映射能力。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.IPacketRegistry.EnsureGameHandlers(System.String)">
            <summary>
            确保指定 GameID 的 Handler 映射已初始化。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.IPacketRegistry.GetPacket(Miracle.Game.Proxy.Constant.ClientState,System.Int32,Miracle.Game.Proxy.Constant.ProtocolVersion,Miracle.Game.Proxy.Constant.PacketDirection,DotNetty.Buffers.IByteBuffer)">
            <summary>
            根据方向/状态/协议读取并构建 Packet。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.IPacketRegistry.GetHandlers(System.String,Miracle.Game.Proxy.Constant.PacketDirection,System.Type)">
            <summary>
            获取指定 GameID 的 Handler 列表。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.IPacketRegistry.GetHandlers(System.String,Miracle.Game.Proxy.Constant.PacketDirection,Miracle.Game.Proxy.Constant.ClientState,System.Type,Miracle.Game.Proxy.Constant.ProtocolVersion)">
            <summary>
            按状态与协议快速获取 Handler 列表，默认回退到基础实现。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.IPacketRegistry.BuildDefaultPacket(Miracle.Game.Proxy.Packet.DefaultPacket,Miracle.Game.Proxy.Constant.PacketDirection,System.Nullable{Miracle.Game.Proxy.Constant.ProtocolVersion})">
            <summary>
            构建默认包实现（用于默认实现补全）。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.IPacketRegistry.RegisterAssemblies(System.Reflection.Assembly[])">
            <summary>
            注册额外程序集的 Handler，默认不支持。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.IPacketHandler.HandlePacket(Miracle.Game.Proxy.Constant.PacketDirection,Miracle.Game.Proxy.Packet.IPacket,Miracle.Game.Proxy.Netty.ProxyPacketHandler)">
            <summary>
            处理Packet
            </summary>
            <param name="direction">发送方向</param>
            <param name="packet">数据包对象</param>
            <param name="proxy">Netty处理器</param>
            <returns>false 则继续向下处理，true 则跳出处理，表示Packet处理任务已结束</returns>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Login.LoginPluginRequestHandler.HandleFML3LoginHandshake(Miracle.Game.Proxy.Packet.Login.LoginPluginRequest,Miracle.Game.Proxy.Netty.ProxyPacketHandler)">
            <summary>
            处理 FML3 Login 阶段握手（1.20-1.20.1）
            forge:login channel 直接包含握手数据，不像 FML2 有嵌套的 channel
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Login.LoginStartHandler.HandlePacket(Miracle.Game.Proxy.Constant.PacketDirection,Miracle.Game.Proxy.Packet.IPacket,Miracle.Game.Proxy.Netty.ProxyPacketHandler)">
                 * 登录过程
                    C→S: Handshake with Next State set to 2 (login)
                    C→S: Login Start
                    S→C: Encryption Request
                    Client auth
                    C→S: Encryption Response
                    Server auth, both enable encryption
                    S→C: Set Compression (optional)
                    S→C: Login Success
        </member>
        <member name="P:Miracle.Game.Proxy.PacketHandler.PacketHandleAttribute.Target">
            <summary>
            处理的目标 Packet 类型
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.PacketHandler.PacketHandleAttribute.Targets">
            <summary>
            处理的多个目标 Packet 类型
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.PacketInitializer">
            <summary>
            Packet 初始化器，负责扫描 Handler、维护缓存并为不同游戏构建映射。
            经过重构后支持按需注册程序集并在新增 Handler 时自动失效缓存，以降低冷启动成本并提升扩展性。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.PacketInitializer.Init">
            <summary>
            初始化默认 Handler，按需扫描当前 AppDomain 内的程序集。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.PacketInitializer.RegisterAssembly(System.Reflection.Assembly)">
            <summary>
            注册单个程序集中的 Handler。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.PacketInitializer.RegisterAssemblies(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            注册多个程序集的 Handler。
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.Czsczl.CzsczlCommon.FMLModListPacket">
            [{"Name":"minecraft","Version":"1.12.2"},{"Name":"departmod","Version":"1.0"},{"Name":"armourers_workshops","Version":"1.12.2-0.49.1"},{"Name":"screenshotmod","Version":"1.0"},{"Name":"basemodneteasecore","Version":"1.9.4"},{"Name":"skincoremod","Version":"1.12.2"},{"Name":"nshowmod","Version":"1.0"},{"Name":"smoothfont","Version":"mc1.12.2-2.0"},{"Name":"fullscreenpopup","Version":"1.12.2.38000"},{"Name":"xaerominimap","Version":"21.4.1"},{"Name":"mcp","Version":"9.42"},{"Name":"skinmod","Version":"1.0"},{"Name":"smoothfontcore","Version":"mc1.12.2-2.0"},{"Name":"playermanager","Version":"1.0"},{"Name":"departcoremod","Version":"1.12.2"},{"Name":"mcbasemod","Version":"1.0"},{"Name":"mercurius_updater","Version":"1.0"},{"Name":"shulkerboxviewer","Version":"1.5"},{"Name":"FML","Version":"8.0.99.99"},{"Name":"neteasecore","Version":"1.12.2"},{"Name":"antimod","Version":"2.0"},{"Name":"foamfixcore","Version":"7.7.4"},{"Name":"networkmod","Version":"1.11.2"},{"Name":"xaerominimap_core","Version":"1.12.2-1.0"},{"Name":"foamfix","Version":"0.10.10-1.12.2"},{"Name":"netoptimize","Version":"1.0"},{"Name":"forge","Version":"14.23.5.2768"},{"Name":"dragoncore","Version":"2.0.0"},{"Name":"friendplaymod","Version":"1.0"},{"Name":"resourcepackorganizer","Version":"1.0.4"},{"Name":"filtermod","Version":"1.0"},{"Name":"mobends","Version":"0.24"}]
        </member>
        <member name="F:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.FakeForgeCommon.ChannelBrandOld">
            <summary>
            1.8 - 1.12.2
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.FakeForgeCommon.ChannelBrand">
            <summary>
            17w47a Java开始扁平化，brand前缀改为 minecraft:
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.FakeForgeCommon.ChannelRegisterOld">
            <summary>
            1.8 - 1.12.2
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.FakeForgeCommon.ChannelRegister">
            <summary>
            17w47a Java开始扁平化，brand前缀改为 minecraft:
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.GermCommon.IsNotHandleGermMod(Miracle.Game.Proxy.Netty.ProxyPacketHandler)">
            <summary>
            是否可以不处理Germ
            </summary>
            <param name="clientHandler"></param>
            <returns></returns>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.HYTGermHandler.HandleGUIUpdate(Miracle.Game.Proxy.Netty.ProxyPacketHandler,Miracle.Game.Proxy.Packet.Play.Germ.GermGUIUpdate)">
            <summary>
            处理GUI更新
            </summary>
            <param name="update"></param>
            <returns></returns>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.HYTGermHandler.HandleGUIResponse(Miracle.Game.Proxy.Netty.ProxyPacketHandler,Miracle.Game.Proxy.Packet.Play.Germ.HytGermGUIResponse)">
            <summary>
            处理GUI响应
            </summary>
            <param name="response"></param>
            <returns></returns>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.HytWorldHandler">
            <summary>
            WorldChunkHandle
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.VexViewCommon.HasVexViewMod(Miracle.Game.Proxy.Netty.ProxyPacketHandler)">
            判断是否已安装GermMod
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.OMG.OMGGermHandler">
            <summary>
            ClientBounce
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.OMG.OMGGermHandler.HandleGUIResponse(Miracle.Game.Proxy.Netty.ProxyPacketHandler,Miracle.Game.Proxy.Packet.Play.Germ.GermGUIResponse)">
            <summary>
            处理GUI响应
            </summary>
            <param name="response"></param>
            <returns></returns>
        </member>
        <member name="T:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.OMG.SuYuanGermHandler">
            <summary>
            ClientBounce
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.PacketHandler.Play.PluginMessage.OMG.SuYuanGermHandler.HandleGUIResponse(Miracle.Game.Proxy.Netty.ProxyPacketHandler,Miracle.Game.Proxy.Packet.Play.Germ.GermGUIResponse)">
            <summary>
            处理GUI响应
            </summary>
            <param name="response"></param>
            <returns></returns>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.ConfigurationPluginMessage">
            <summary>
            Configuration 阶段的 Plugin Message packet
            1.20.2+ 在 Configuration 阶段使用此 packet 传输插件消息
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.ConfigurationPluginMessageServerBound">
            <summary>
            Configuration 阶段的 Plugin Message packet (Client -> Server)
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.FinishConfiguration">
            <summary>
            Finish Configuration packet
            服务器发送此 packet 表示配置完成，客户端应进入 Play 状态
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.AcknowledgeFinishConfiguration">
            <summary>
            Acknowledge Finish Configuration packet
            客户端响应 Finish Configuration，确认准备进入 Play 状态
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.ConfigurationKeepAlive">
            <summary>
            Configuration Keep-Alive packet (Server -> Client)
            服务器在 Configuration 阶段发送的 Keep-Alive 请求
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.ConfigurationKeepAliveResponse">
            <summary>
            Configuration Keep-Alive Response packet (Client -> Server)
            客户端响应 Configuration 阶段的 Keep-Alive
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.RegistryData">
            <summary>
            Registry Data packet (Server -> Client)
            服务器发送注册表数据（dimension types, biomes, etc.）
            1.20.2+ 在 Configuration 阶段传输
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Configuration.RegistryData.RawData">
            <summary>
            Raw registry data - preserved as-is for transparent proxying
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.KnownPacks">
            <summary>
            Known Packs packet (Server -> Client)
            服务器发送已知数据包列表（1.20.5+）
            用于优化注册表数据传输
            </summary>
            <summary>
            Known Packs packet (Server -> Client)
            服务器发送已知数据包列表（1.20.5+）
            用于优化注册表数据传输
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.KnownPacksResponse">
            <summary>
            Known Packs Response packet (Client -> Server)
            客户端响应已知数据包（1.20.5+）
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Configuration.ConfigurationClientInformation">
            <summary>
            Client Information packet (Configuration state)
            客户端在 Configuration 阶段发送的客户端信息
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2Message">
            <summary>
            FML2 协议消息基类（1.13 - Current）
            所有 FML2 消息通过 Login Plugin Request/Response 传输
            Channel: fml:loginwrapper -> fml:handshake
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2Message.Decode(DotNetty.Buffers.IByteBuffer)">
            <summary>
            从 fml:handshake 通道的 Data 中解码
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2Message.Encode(DotNetty.Buffers.IByteBuffer)">
            <summary>
            编码到 fml:handshake 通道的 Data
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2Message.BuildLoginPluginResponseData">
            <summary>
            构建 Login Plugin Response 数据包
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2Message.DecodeFromLoginPluginRequest``1(System.Byte[])">
            <summary>
            从 Login Plugin Request Data 解码
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2ModList">
            <summary>
            FML2 Mod List (ID: 1, Server -> Client)
            服务器广播模组列表、插件通道、注册表
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2ModListReply">
            <summary>
            FML2 Mod List Reply (ID: 2, Client -> Server)
            客户端响应模组列表
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2ModListReply.CreateFromServerModList(Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2ModList)">
            <summary>
            从服务器的 ModList 创建回复（伪装策略）
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2ServerRegistry">
            <summary>
            FML2 Server Registry (ID: 3, Server -> Client)
            服务器发送注册表快照（每个注册表一个包）
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2ConfigurationData">
            <summary>
            FML2 Configuration Data (ID: 4, Server -> Client)
            服务器发送配置数据
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Handshaking.Forge.FML2Acknowledgement">
            <summary>
            FML2 Acknowledgement (ID: 99, Client -> Server)
            确认收到 Server Registry 或 Configuration Data
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLMultipartPacket">
            <summary>
            客户端接收数据时，服务端可以分包发送
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLMultipartPacket.Length">
            Total length of wrapped data
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLServerHello.Discriminator">
            Always 0 for ServerHello
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLServerHello.FMLProtocolVersion">
            Determined from NetworkRegistery. Currently 2.
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLServerHello.OverrideDimension">
            Optional Int	
            Only sent if protocol version is greater than 1.
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLClientHello.Discriminator">
            Always 1 for ClientHello.
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLClientHello.FMLProtocolVersion">
            Determined from NetworkRegistery. Currently 2.
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLModList.Discriminator">
            Always 2 for ModList
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLModList.ModsLength">
            Varint
            Number of mods below
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLRegistryData.RegistryDataInfo.Id">
            Varint
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLRegistryData.Discriminator">
            Always 3 for RegistryData.
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLRegistryData.HasMore">
            Marks whether another RegistryData packet will be sent after this.
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLRegistryData.Name">
            Name of the registry for this packet
        </member>
        <member name="F:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLRegistryData.NumberOfIds">
            Varint
            Number of ids sent below
        </member>
        <member name="F:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLRegistryData.NOP">
                 * 填充结构（假人）
                 * Number of substitutions	Varint	Number of substitutions sent below
                    Substitutions	Array of strings	Each substitution
                    Number of dummies	Varint	Number of dummies in the array below. May not be present in older versions of forge; check if there still is data remaining in the packet before continuing to read data.
                    Dummies	Array of strings	Each dummy?
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLHandshakeAckpublic.Discriminator">
            Always -1 (255) for HandshakeAck
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLHandshakeAckpublic.Phase">
            The current phase, which is the ordinal (0-indexed) in the FMLHandshakeClientState or FMLHandshakeServerState enums (if the server is sending it, it is in the ServerState enum, and if the client is sending it, it is the ClientState enum).
            当前阶段，即在FMLHandshakeClientState或FMLHandshakeServerState枚举中的序数（从0开始计数）（如果服务器发送它，则在ServerState枚举中，如果客户端发送它，则在ClientState枚举中）。
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Handshaking.Forge.FMLHandshakeReset.Discriminator">
            * Always -2 (254) for HandshakeReset
            * 当前阶段，即在FMLHandshakeClientState或FMLHandshakeServerState枚举中的序数（从0开始计数）（如果服务器发送它，则在ServerState枚举中，如果客户端发送它，则在ClientState枚举中）。
               导致客户端重新完成整个握手过程。除了鉴别字节之外，没有有效载荷。
               正常的 Forge 服务器不会使用此数据包，但在通过 BungeeCord 实例连接时使用，特别是从原版服务器切换到修改过的服务器或从一个修改过的服务器切换到另一个修改过的服务器时。
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Login.LoginSuccess_1_21.StrictErrorHandling">
            <summary>
            Whether the client should immediately disconnect upon a packet processing error. The Notchian client silently ignores them when this flag is false.
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.ILazyPacket">
            <summary>
            标记接口：支持延迟反序列化的 Packet
            实现此接口的 Packet 在 DeserializeData 时仅保留 Buffer 引用，
            按需读取字段以减少 CPU 和 GC 压力
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.ILazyPacket.EnsureFullyDeserialized">
            <summary>
            确保所有字段已完全反序列化
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.AbstractPacket.AutoDispose">
            <summary>
            是否自动释放
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.DefaultAnimation">
            <summary>
            Swing Arm
            Sent when the player's arm swings.
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Animation_1_20_5">
            <summary>
            1.20.5/1.20.6 与 1.21 共用相同结构（ID 0x36）。
            </summary>
        </member>
        <member name="F:Miracle.Game.Proxy.Packet.Play.AntiCheat.HytAntiCheatCommon.FMLModListPacket">
                 * [{"Name":"minecraft","Version":"1.12.2"},{"Name":"departmod","Version":"1.0"},{"Name":"screenshotmod","Version":"1.0"},{"Name":"ess","Version":"1.0.2"},{"Name":"vexview","Version":"2.6.10"},{"Name":"basemodneteasecore","Version":"1.9.4"},{"Name":"sidebarmod","Version":"1.0"},{"Name":"skincoremod","Version":"1.12.2"},{"Name":"fullscreenpopup","Version":"1.12.2.38000"},{"Name":"storemod","Version":"1.0"},{"Name":"mcp","Version":"9.42"},{"Name":"skinmod","Version":"1.0"},{"Name":"playermanager","Version":"1.0"},{"Name":"departcoremod","Version":"1.12.2"},{"Name":"mcbasemod","Version":"1.0"},{"Name":"mercurius_updater","Version":"1.0"},{"Name":"FML","Version":"8.0.99.99"},{"Name":"neteasecore","Version":"1.12.2"},{"Name":"antimod","Version":"2.0"},{"Name":"foamfixcore","Version":"7.7.4"},{"Name":"networkmod","Version":"1.11.2"},{"Name":"foamfix","Version":"@VERSION@"},{"Name":"forge","Version":"14.23.5.2768"},{"Name":"friendplaymod","Version":"1.0"},{"Name":"libs","Version":"1.0.2"},{"Name":"filtermod","Version":"1.0"},{"Name":"germmod","Version":"3.4.2"},{"Name":"promotion","Version":"1.0.0-SNAPSHOT"}]
                 
        </member>
        <member name="F:Miracle.Game.Proxy.Packet.Play.AntiCheat.HytAntiCheatCommon.MachineCode">
            临时机器码
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Play.DefaultChatMessageClient.Message">
            <summary>
            Limited to 32767 bytes
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Play.DefaultChatMessageClient.Position">
            <summary>
            chat (chat box), 1: system message (chat box), 2: above hotbar
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.CollectItem_1_12">
            <summary>
            当有人捡起躺在地上的物品时，服务器就会发送——它的唯一目的似乎是让物品向你飞来的动画。
            它不会破坏客户端内存中的实体，也不会将其添加到您的库存中。服务器只检查客户端发送的每个球员位置(和球员位置和外观)包后要拾取的项目。收集器实体可以是任何实体，它不一定是玩家。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Play.Germ.AbstractGermPacket.DeserializeData(DotNetty.Buffers.IByteBuffer)">
            <summary>
            此功能需要对PluginMessageHandler进一步加工实现
            </summary>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Germ.HytGermGUIResponse">
            <summary>
            S->C
            GUI信息
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Germ.GermGUIUpdate">
            <summary>
            S->C
            GUI更新
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Germ.GermWrappedPacket">
            <summary>
            Germ 数据分包
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Germ.GermGUIScriptDefault">
            <summary>
            花雨庭不可用，普通萌芽按键命令
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Germ.GermGUIScriptHYT">
            <summary>
            主菜单点击执行脚本
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Germ.GermGUIClick">
            <summary>
            C->S
            GUI点击事件
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Germ.GermGUIOpen">
            <summary>
            C->S
            GUI打开事件
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.Germ.HytGermClientLink">
            <summary>
            客户端连接包
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Play.Germ.GermClientLinkDTO.GenData(System.String,System.String,System.String,System.String)">
            <summary>
            生成数据
            </summary>
            <param name="name"></param>
            <param name="serverIP"></param>
            <param name="version"></param>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Play.Germ.GermClientLinkDTO.GenIP(System.String)">
            <summary>
            通过用户名，来分配唯一的IP地址
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Play.Germ.GermClientLinkDTO.GenQQ(System.String)">
            <summary>
            通过用户名，来分配唯一的QQ
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Play.Germ.GermClientLinkDTO.GenMachine(System.String)">
            <summary>
            通过用户名来分配唯一的机器码
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.DefaultPlayerBlockPlacement">
            <summary>
            Use Item On
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.PlayerBlockPlacement_1_20_5">
            <summary>
            1.20.5/1.20.6 以及 1.21 共用的 Use Item On 数据结构（ID 0x38）。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Packet.Play.DefaultPlayerListItem.Action">
            Determines the rest of the Player format after the UUID 
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.SetPlayerPosition_1_20_5">
            <summary>
            1.20.5+/1.20.6 玩家绝对位置同步（ID 0x1A）。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.SetPlayerPositionAndRotation_1_20_5">
            <summary>
            1.20.5+/1.20.6 玩家位置 + 朝向同步（ID 0x1B）。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.SetPlayerRotation_1_20_5">
            <summary>
            1.20.5+/1.20.6 玩家纯朝向同步（ID 0x1C）。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.SetPlayerOnGround_1_20_5">
            <summary>
            1.20.5+/1.20.6 玩家地面状态同步（ID 0x1D）。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.MoveVehicle_1_20_5">
            <summary>
            1.20.5+/1.20.6 载具位姿同步（ID 0x1E）。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.DefaultPlayerSessionServer">
            <summary>
            1.20.5+ 安全聊天会话（服务端绑定）：向服务端声明 ProfileKey，用于后续聊天签名验签。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.IPluginMessage">
            <summary>
            PluginMessage 通用接口，用于 Handler 兼容 Lazy 和 Default 实现
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.LazyPluginMessagePacket">
            <summary>
            延迟反序列化版本的 PluginMessage
            优先读取 Channel 字段用于路由判断，Data 字段按需读取
            适用场景：60-80% PluginMessage 仅需要 Channel 就能完成转发决策
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.DefaultUseEntity">
            <summary>
            Interact
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.UseEntity_1_20_5">
            <summary>
            1.20.5/1.20.6 以及 1.21 使用的 Interact (0x16) 包结构。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Packet.Play.UseItem_1_20_5">
            <summary>
            1.20.5/1.20.6 的 Use Item (0x39) 包结构，新增序列号用于方块同步。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Packet.Play.VexView.DefaultVexViewPacket.DeserializeData(DotNetty.Buffers.IByteBuffer)">
            <summary>
            此功能需要对PluginMessageHandler进一步加工实现
            </summary>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="T:Miracle.Game.Proxy.Server.IIrcBridge">
            <summary>
            代理宿主向 PacketHandler 暴露的 IRC 通道能力抽象。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Server.IIrcBridge.NotifyClientReady">
            <summary>
            通知 IRC 桥接器客户端已经完成 JoinGame，可开始向客户端派发缓存消息。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Server.IIrcBridge.OnChannelActive(Miracle.Game.Proxy.Netty.ProxyPacketHandler)">
            <summary>
            DotNetty 事件循环建立或替换时调用，用于刷新派发通道。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Server.IIrcBridge.OnChannelInactive">
            <summary>
            DotNetty 事件循环关闭时调用，用于暂停派发。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Server.IProxyServerCallbacks">
            <summary>
            代理服务器对外暴露的回调委托集合。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Server.IProxyServerContext">
            <summary>
            代理服务器的上下文视图，供插件只读访问。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Server.IProxyServerContext.Running">
            <summary>
            当前代理是否运行中。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Server.IProxyServerContext.JoinGame">
            <summary>
            玩家是否已进入游戏。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Server.IProxyServerContext.ServerIP">
            <summary>
            远程服务器地址。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Server.IProxyServerContext.ServerPort">
            <summary>
            远程服务器端口。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Server.IProxyServerContext.ProxyServerIP">
            <summary>
            代理监听地址。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Server.IProxyServerContext.Allocator">
            <summary>
            Netty 分配器。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Server.IProxyServerContext.WorkerGroup">
            <summary>
            Netty Worker 线程组。
            </summary>
        </member>
        <member name="P:Miracle.Game.Proxy.Server.IProxyServerContext.UseLibuv">
            <summary>
            是否启用 Libuv。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Server.IProxyServerHost">
            <summary>
            代理服务器对外暴露的完整接口，组合上下文信息与回调能力。
            </summary>
        </member>
        <member name="T:Miracle.Game.Proxy.Server.ProxyEnvironmentRegistry">
            <summary>
            管理各游戏专属的代理环境工厂，避免 SDK 直接依赖具体实现。
            </summary>
        </member>
        <member name="M:Miracle.Game.Proxy.Server.ProxyEnvironmentRegistry.Register(System.String,System.Func{Miracle.Game.Proxy.Netty.ProxyPacketHandler,System.Object})">
            <summary>
            注册指定游戏的环境工厂。
            </summary>
            <param name="gameId">游戏 ID。</param>
            <param name="factory">创建环境实例的委托。</param>
            <exception cref="T:System.ArgumentException">gameId 为空。</exception>
            <exception cref="T:System.ArgumentNullException">factory 为空。</exception>
            <exception cref="T:System.InvalidOperationException">重复注册相同 gameId 的工厂。</exception>
        </member>
        <member name="M:Miracle.Game.Proxy.Server.ProxyEnvironmentRegistry.TryCreate(System.String,Miracle.Game.Proxy.Netty.ProxyPacketHandler,System.Object@)">
            <summary>
            创建指定游戏的环境实例。
            </summary>
            <param name="gameId">游戏 ID。</param>
            <param name="handler">当前代理处理器。</param>
            <param name="environment">输出环境对象。</param>
            <returns>当存在工厂且成功创建时返回 true，否则 false。</returns>
            <exception cref="T:System.ArgumentNullException">handler 为空。</exception>
        </member>
        <member name="T:Miracle.Game.Proxy.Server.ViaProbe">
            <summary>
            后端协议探测工具。在初始化阶段即可调用，避免占用握手流程。
            仅为 1.20.1(763) ↔ 1.20.5/1.20.6(766) 提供快速探测。
            </summary>
        </member>
        <member name="P:Game.Porxy.Server.Entities.Type.Inventory.Item.DisplayName">
            <summary>
            Retrieve item display name from NBT properties. NULL if no display name is defined.
            </summary>
        </member>
        <member name="P:Game.Porxy.Server.Entities.Type.Inventory.Item.Lores">
            <summary>
            Retrieve item lores from NBT properties. Returns null if no lores is defined.
            </summary>
        </member>
        <member name="P:Game.Porxy.Server.Entities.Type.Inventory.Item.Damage">
            <summary>
            Retrieve item damage from NBT properties. Returns 0 if no damage is defined.
            </summary>
        </member>
        <member name="M:Game.Porxy.Server.Packet.Play.AntiCheat.MacAddressInfo.UpdateData(System.String,System.String)">
            <summary>
            重新计算Hash值 和 MacAddress(根据角色ID生成唯一值)
            </summary>
        </member>
        <member name="M:Game.Porxy.Server.Packet.Play.AntiCheat.QQInfo.UpdateData(System.String)">
            <summary>
            重新计算Hash值 和 MacAddress(根据角色ID生成唯一值)
            </summary>
        </member>
    </members>
</doc>
