Example #1
0
        public ChatObject ReadChatObject()
        {
            string raw = ReadString();

            if (ChatObject.TryParse(raw, out ChatObject result))
            {
                return(result);
            }

            return(new ChatObject(raw));
        }
        public override void Decode(MinecraftStream stream)
        {
            TransactionId = stream.ReadVarInt();
            Start         = stream.ReadVarInt();
            Length        = stream.ReadVarInt();

            int c = stream.ReadVarInt();

            Matches = new TabCompleteMatch[c];
            for (int i = 0; i < c; i++)
            {
                var entry = new TabCompleteMatch();
                entry.Match      = stream.ReadString();
                entry.HasTooltip = stream.ReadBool();

                if (entry.HasTooltip)
                {
                    ChatObject.TryParse(stream.ReadString(), out entry.Tooltip);
                }

                Matches[i] = entry;
            }
        }