public override void Write()
        {
            _worldPacket.WriteInt32(Items.Count);
            _worldPacket.WriteUInt32(Unknown830);
            _worldPacket.WriteUInt32(TotalCount);
            _worldPacket.WriteUInt32(DesiredDelay);
            _worldPacket.WriteBits((int)ListType, 2);
            _worldPacket.WriteBit(HasMoreResults);
            _worldPacket.FlushBits();

            BucketKey.Write(_worldPacket);

            foreach (AuctionItem item in Items)
            {
                item.Write(_worldPacket);
            }
        }
        public void Write(WorldPacket data)
        {
            Key.Write(data);
            data.WriteInt32(TotalQuantity);
            data.WriteInt32(RequiredLevel);
            data.WriteUInt64(MinPrice);
            data.WriteInt32(ItemModifiedAppearanceIDs.Count);
            if (!ItemModifiedAppearanceIDs.Empty())
            {
                foreach (int id in ItemModifiedAppearanceIDs)
                {
                    data.WriteInt32(id);
                }
            }

            data.WriteBit(MaxBattlePetQuality.HasValue);
            data.WriteBit(MaxBattlePetLevel.HasValue);
            data.WriteBit(BattlePetBreedID.HasValue);
            data.WriteBit(Unk901_1.HasValue);
            data.WriteBit(ContainsOwnerItem);
            data.WriteBit(ContainsOnlyCollectedAppearances);
            data.FlushBits();

            if (MaxBattlePetQuality.HasValue)
            {
                data.WriteUInt8(MaxBattlePetQuality.Value);
            }

            if (MaxBattlePetLevel.HasValue)
            {
                data.WriteUInt8(MaxBattlePetLevel.Value);
            }

            if (BattlePetBreedID.HasValue)
            {
                data.WriteUInt8(BattlePetBreedID.Value);
            }

            if (Unk901_1.HasValue)
            {
                data.WriteUInt32(Unk901_1.Value);
            }
        }